- 合并K个排序链表(PriorityQueue)
主要思想:
【123,789,456】
放进PriorityQueue
【123,456,789】
queue.poll();
拿出123,截取1,放回23
class Solution {
public ListNode mergeKLists(ListNode[] lists) {
if(lists==null||lists.length==0) return null;
PriorityQueue<ListNode> queue=new PriorityQueue<>(lists.length,(a,b)->a.val-b.val);
ListNode dummy=new ListNode(0);
ListNode cur=dummy;
for(ListNode list:lists){
if(list!=null){
queue.add(list);
}
}
while(!queue.isEmpty()){
cur.next=queue.poll();
cur=cur.next;
if(cur.next!=null){
queue.add(cur.next);
}
}
return dummy.next;
}
}