day84(2.12)——leetcode面试经典150

23. 合并 K 个升序链表

23. 合并K个升序链表

题目:

题解:

java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode mergeKLists(ListNode[] lists) {
        ListNode root = new ListNode();
        List<Integer> list = new ArrayList<>();
        for(int i=0;i<lists.length;i++) {
            ListNode node = lists[i];
            ListNode cur = node;
            while(cur != null) {
                list.add(cur.val);
                cur = cur.next;
            }
        }
        if (list.isEmpty()) {
            return null;
        }
        list.sort(null);
        ListNode t = new ListNode();
        ListNode c = t;
        for(int i=0;i<list.size();i++) {
            t.val = list.get(i);
            if(i!=list.size()-1) {
                t.next = new ListNode();
            }
            else {
                t.next = null;
            }
            t = t.next;
        }
        return c;
    }
}
相关推荐
淡海水9 分钟前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
INGNIGHT4 小时前
270 · 电话号码的字母组合II(Trie)
linux·算法
2401_839080544 小时前
C++常见八股
数据结构·c++·算法
青山是哪个青山4 小时前
LeetCode 188:买卖股票的最佳时机 IV
算法
mikuyyds4 小时前
geo-toolbox 插件算法解析:RUSLE 与 MUSLE 的工程化落地
算法·rust·gis
Tisfy5 小时前
LeetCode 3498.字符串的反转度:一次遍历
leetcode·字符串·题解·遍历
a187927218315 小时前
【算法】树(二):队列与祖先——BFS 骨架三配件、短路透传与合流
算法·leetcode·二叉树··bfs·算法讲解·树遍历
小刘在重生~5 小时前
Java Lock 显式锁案例|ReentrantLock 解决多线程安全问题(超详细实战)
java·笔记·面试
syagain_zsx5 小时前
算法基础篇 · 03 枚举(C++ 题解)
c++·算法·二进制·枚举
weixin_307779135 小时前
C++代码实现MATLAB中的ode23tb函数功能
开发语言·c++·算法·matlab