时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M 热度指数:348621
本题知识点: 数组
题目描述
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。
AC代码:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Comparator;
public class Solution {
public String PrintMinNumber(int [] numbers) {
List<Integer> list=new ArrayList<>();
for(int i=0;i<numbers.length;i++){
list.add(numbers[i]);
}
Collections.sort(list,new Comparator<Integer>(){
public int compare(Integer t,Integer t1){
String str=t+""+t1;
String str1=t1+""+t;
return str.compareTo(str1);
}
});
String s="";
for(int i:list){
s+=i;
}
return s;
}
}