解题思路:
* 先将整型数组数据添加带list集合里面,然后将list用comparator比较器排序,最后将排好序的字符串数组拼接出来。关键就是制定排序规则。
* 排序规则如下:
* 若ab > ba 则 a > b,
* 若ab < ba 则 a < b,
* 若ab = ba 则 a = b;
* 解释说明:
* 比如
"3"
<
"31"
但是
"331"
>
"313"
,所以要将二者拼接起来进行比较
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Solution {
public String PrintMinNumber(int [] numbers) {
String s="";
ArrayList <Integer>list =new ArrayList<Integer>();
for(int i=0;i<numbers.length;i++)
{
list.add(numbers[i]);
}
Collections.sort(list,new Comparator<Integer>(){
public int compare(Integer s1,Integer s2)
{
String s11=s1+""+s2;
String s22=s2+""+s1;
return s11.compareTo(s22);
}
});
for(int j:list)
s+=j;
return s;
}
}