【LeetCode练习】[中等]179. 最大数
179. 最大数
算法思想:排序
题目:
利用字符串自己的字典序比较
java代码
class Solution {
public String largestNumber(int[] nums) {
//为了构建最大数字,我们希望越高位的数字越大越好。
//字符串自己就能字典序排序
String[] str = new String[nums.length];
for (int i = 0; i< nums.length;i++){
str[i] = String.valueOf(nums[i]);//String.valueOf();更快,比用+
}
Arrays.sort(str, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
String str1 = o1+o2;
String str2 = o2+o1;
return str2.compareTo(str1);//比较字典序,从大到小进行排序
}
});
StringBuilder resStr = new StringBuilder();
for (String s:str) {
resStr.append(s);
}
if (resStr.charAt(0) == '0')
return "0";
return resStr.toString();
}
}