剑指 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 }

浙公网安备 33010602011771号