MergeKLists

扫码查看
public ListNode mergeKLists(ListNode[] lists) {
if(lists==null||lists.length==0) return null;
PriorityQueue<ListNode> minHeap=new PriorityQueue<>((o1, o1)->{
return o1.val-o2.val;
});
for(int i=0; i<lists.length; i++){
if(lists[i]!=null) minHeap.add(lists[i]);
}
ListNode head = new ListNode(0);
ListNode p=head;
while(minHeap.size()>0){
ListNode temp=minHeap.poll();
p.next=temp;
p=p.next;
if(temp.next!=null){
minHeap.add(temp.next);
}
}
return head.next;
}
04-13 14:01
查看更多