剑指 Offer 45. 把数组排成最小的数

题目:

输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。

 

示例 1:

输入: [10,2]
输出: "102"

示例 2:

输入: [3,30,34,5,9]
输出: "3033459"

 

提示:

  • 0 < nums.length <= 100

说明:

代码:

 1 class Solution {
 2     public String minNumber(int[] nums) {
 3     List<String> list =new ArrayList();
 4     for(int num:nums){
 5         list.add(num+"");
 6     }
 7    list.sort(new Comparator<String>(){  
 8             @Override
 9             public int compare(String s1,String s2){
10                 return (s1+s2).compareTo(s2+s1);
11             }
12 
13         });
14         return String.join("",list);
15     }
16 }

 

posted @ 2021-04-07 15:25  堤苏白  阅读(73)  评论(0)    收藏  举报