LeetCode 23 合并K个升序链表

Posted Starzkg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 23 合并K个升序链表相关的知识,希望对你有一定的参考价值。

https://leetcode-cn.com/problems/merge-k-sorted-lists/

解决方案

import java.util.Comparator;
import java.util.PriorityQueue;

class Solution 
    public ListNode mergeKLists(ListNode[] lists) 
        if (lists.length == 0) 
            return null;
        
        ListNode head = new ListNode();
        ListNode p = head;
        PriorityQueue<ListNode> queue = new PriorityQueue<>(lists.length, Comparator.comparingInt(node -> node.val));
        for (ListNode node : lists) 
            if (node != null) 
                queue.add(node);
            
        
        while (queue.size() > 0) 
            ListNode node = queue.poll();
            p.next = node;
            p = node;
            if (node.next != null) 
                node = node.next;
                queue.add(node);
            

        
        return head.next;
    

开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于LeetCode 23 合并K个升序链表的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 23 合并K个升序链表

LeetCode 23 合并K个升序链表

Python描述 LeetCode 23. 合并K个升序链表

Leetcode23. 合并K个升序链表(优先队列)

302.LeetCode | 23. 合并K个升序链表

*Leetcode 23. 合并K个升序链表