23. Merge k Sorted Lists

class Solution {
    public ListNode mergeKLists(ListNode[] lists) {
        PriorityQueue<ListNode> que=new PriorityQueue<ListNode>((a,b)->a.val-b.val);
        for(ListNode list:lists)
            if(list!=null)
                que.add(list);
        ListNode preNode=new ListNode(0);
        ListNode p=preNode;
        while(que.size()>0)
        {
            p.next=que.poll();
            p=p.next;
            if(p.next!=null)
                que.add(p.next);
        }
        return preNode.next;
    }
}

 

posted @ 2017-09-23 01:51  Weiyu Wang  阅读(101)  评论(0编辑  收藏  举报