Leetcode 179.最大数

最大数

给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。

示例 1:

输入: [10,2]

输出: 210

示例 2:

输入: [3,30,34,5,9]

输出: 9534330

 1 import java.util.Arrays;
 2 import java.util.Comparator;
 3 
 4 class Solution {
 5     public String largestNumber(int[] num) {
 6         if(null==num||num.length<1)
 7             return "";
 8         String[] snum = new String[num.length];
 9         for(int i=0; i<num.length; i++)
10             snum[i] = String.valueOf(num[i]);
11         Comparator<String> cmp = new Comparator<String>(){
12             @Override
13             public int compare(String s1,String s2){
14                 String c1 = s1+s2;
15                 String c2 = s2+s1;
16                 return c2.compareTo(c1);
17             }
18         };
19         Arrays.sort(snum,cmp);
20         if(snum[0].charAt(0)=='0')
21             return "0";
22         StringBuilder ans = new StringBuilder();
23         for(String each:snum)
24             ans.append(each);
25         return ans.toString();
26     }
27 }
原文地址:https://www.cnblogs.com/kexinxin/p/10202993.html