题解 | #合并k个已排序的链表#

合并k个已排序的链表

https://www.nowcoder.com/practice/65cfde9e5b9b4cf2b6bafa5f3ef33fa6

//使用大根堆解决
	public ListNode mergeKLists(ArrayList<ListNode> lists) {
        PriorityQueue<Integer> pq = new PriorityQueue<>((x, y) -> y - x);
        ListNode head = new ListNode(-1);
        
        for (ListNode node : lists) {
            while(node != null) {
                pq.offer(node.val);
                node = node.next;
            }
        }
        
        while(!pq.isEmpty()) {
            ListNode newNode = new ListNode(pq.poll());
            newNode.next = head.next;
            head.next = newNode;
        }
        return head.next;
    }

全部评论

相关推荐

点赞 评论 收藏
分享
弦五Strings:他之所以会举报你代课是因为在这种人眼里正常上课就是正义代课就是邪恶,典型二极管思维,处理方法就是私下沟通,你就说你自己家里经济困难或者家里父母生病什么之类的,需要去打工挣钱,用尽孝的正义对冲他认为的上课的正义,他可能就妥协了。
我的实习日记
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务