来自Leetcode第179题最大数
给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。
示例 1:
1 | 输入: [10,2] |
首先,我们将每个整数变成字符串。然后进行排序。
public String largestNumber(int[] nums) {
Integer[] n = new Integer[nums.length];
for(int i = 0 ; i < nums.length ; i++)
n[i] = nums[i];
Arrays.sort(n, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
String s1 = o1 + "" + o2;
String s2 = o2 + "" + o1;
return s2.compareTo(s1);
}
});
StringBuilder ans = new StringBuilder();
for(int i = 0 ; i < nums.length ; i++)
ans.append(n[i]);
String res = ans.toString();
return res.charAt(0) == '0' ? "0" : res;
}