输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
public String PrintMinNumber(int [] numbers) {
for(int i = 0; i< numbers.length; i++){
for(int j = i + 1; j< numbers.length ; j++){
int num1 = Integer.valueOf(numbers[i] + "" + numbers[j]);
int num2 = Integer.valueOf(numbers[j] + "" + numbers[i]);
if(num1 > num2){
swap(numbers, i, j);
}
}
}
return Arrays.toString(numbers).replace(", ", "").replace("[", "").replace("]", "");
}
public static void swap(int[] nums, int i, int j){
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}