利用数字拼接与JAVA自带sort方法
把数组排成最小的数
http://www.nowcoder.com/questionTerminal/8fecd3f8ba334add803bf2a06af1b993
public String PrintMinNumber(int [] numbers) { List<Integer> array = new ArrayList(); for (int number : numbers) { array.add(number); } array.sort(new Comparator<Integer>() { @Override public int compare(Integer t1, Integer t2) { int t1Combine = combine(t1,t2); int t2Combine= combine(t2,t1); if(t1Combine < t2Combine) return -1; else if(t1Combine == t2Combine){ return 0; } else return 1; } }); StringBuffer ans = new StringBuffer(); for (Integer integer : array) { ans.append(integer.toString()); } return ans.toString(); } private int combine(int t1,int t2){ return (int) (t1*Math.pow(10,((int) Math.log10(t2)+1)) )+t2; }