使用优先级队列解决此问题。
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;
}
}
京公网安备 11010502036488号