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 阅读(175) 评论(0) 收藏 举报
 
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号