题解 | #把数组排成最小的数#
把数组排成最小的数
http://www.nowcoder.com/practice/8fecd3f8ba334add803bf2a06af1b993
使用优先级队列解决此问题。
import java.util.*; public class Solution { public String PrintMinNumber(int [] numbers) { // 自定义排序规则 PriorityQueue<Integer> queue = new PriorityQueue<Integer>((a,b)->{return (Integer.valueOf(a + "" + b))-(Integer.valueOf(b + "" + a));}); for(int i : numbers){ queue.add(i); } String res = ""; int size = queue.size(); for(int i = 0; i < size; i++){ res += String.valueOf(queue.poll()); } return res; } }