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; }
posted on 2019-02-25 18:51 www_practice 阅读(166) 评论(0) 编辑 收藏 举报