给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。
注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。
示例 1:
输入:nums = [10,2]
输出:"210"
示例 2:
输入:nums = [3,30,34,5,9]
输出:"9534330"
public static String largestNumber(int[] nums) {
List<String> list = new ArrayList<>();
for (int i = 0; i < nums.length; i++) {
list.add(String.valueOf(nums[i]));
}
list.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if ((o1+o2).compareTo(o2+o1)>0) {
return -1;
} else {
return 1;
}
}
});
return String.join("",list);
}