179. Largest Number

该题解决方法是排序,我们只需要对两个数的对比方法进行改写就好了。改写思路为两个字符串 a 和 b, 如果 a + b 小于 b + a, 那么就交换位置。

代码如下:

 1 class Solution {
 2     public String largestNumber(int[] nums) {
 3         String[] str = new String[nums.length];
 4         for(int i = 0 ; i < nums.length ; i++){
 5             str[i] = String.valueOf(nums[i]);
 6         }
 7         
 8         Comparator<String> comp = new Comparator<String>(){
 9             public int compare(String a, String b){
10                 return (b+a).compareTo(a+b);
11             }
12         };
13         
14         Arrays.sort(str, comp);
15         
16         if(str[0].equals("0"))
17             return "0";
18         
19          sb = new StringBuilder();
20         
21         for(String s:str)
22             sb.append(s);StringBuilder
23         
24         return sb.toString();
25     }
26     
27 }

END

猜你喜欢

转载自www.cnblogs.com/sssysukww/p/8966759.html
今日推荐