import java.util.*;
public class Solution {
// 组成的数的位数是一定的,所以要保证高位的数字较小
// 只考虑首字符的大小不可靠谱,但是如果字符串a拼接b得到的数字大于b拼接a,那么肯定b应该排在a的前面,我们就要按照这样的次序将排序的比较重写比较器就可以了
public String PrintMinNumber (int[] numbers) {
// write code here
if(numbers.length == 0 || numbers == null) return "";
String[] nums = new String[numbers.length];
// 将数字转成字符
for(int i = 0; i < numbers.length; i++){
nums[i] = numbers[i] + "";
}
// 按照重写排序
// 根据字典序排序,重写Comparator方法
Arrays.sort(nums,new Comparator<String>(){
public int compare(String s1, String s2){
return (s1 + s2).compareTo(s2 + s1);
}
});
StringBuilder str = new StringBuilder();
for(String i : nums){
str.append(i);
}
return str.toString();
}
}