class Solution {
public ListNode mergeKLists(ListNode[] lists) {
PriorityQueue<ListNode>queue=new PriorityQueue<>(new Comparator<ListNode>() {
public int compare(ListNode o1,ListNode o2){
return o1.val-o2.val;
}
});
for(int i=0;i<lists.length;i++){
if(lists[i]!=null){
queue.add(lists[i]);
}
}
ListNode dummy =new ListNode(-1),cur=dummy;
while(!queue.isEmpty()){
ListNode temp =queue.poll();
cur.next=temp;
cur=temp;
if(temp.next!=null){
queue.add(temp.next);
}
}
return dummy.next;
}
}
参考:https://blog.youkuaiyun.com/katrina95/article/details/79112038