题解 | #把数组排成最小的数#
把数组排成最小的数
http://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993
解题思路
贪心算法+自定义排序
import java.util.*; public class Solution { public String PrintMinNumber(int [] numbers) { ArrayList<String> slist=new ArrayList<String>(); for(int num:numbers) { slist.add(String.valueOf(num));//将int数组用list装入 } Collections.sort(slist, new Comparator<String>() {//自定义排序 public int compare(String o1, String o2) { return ((o1+o2).compareTo(o2+o1));//返回比较结果 } }); StringBuffer buffer=new StringBuffer();//定义缓冲区 for(String s:slist) { buffer.append(s);//向缓冲区添加结果 } return buffer.toString();//返回结果 } }