当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。
练题计划 · 力扣 HOT 100
合并 K 个升序链表
困难mergeKLists()时间限制 2000 ms内存限制 128 MB复杂度要求 时间 O(N log k),空间 O(1)
合并 K 个升序链表
给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。
> 与力扣原题语义一致。本平台中链表数组以「数组的数组」形式给出,例如 [[1,4,5],[1,3,4],[2,6]];参考解需要在内部把每个子数组构建为链表后再合并。
约定
- 每个子数组代表一条升序链表,空数组
[]表示空链表。 - 空链表数组
[]也是合法输入,返回空链表。
输入
lists:链表数组(数组的数组),总节点数0 ~ 8000,节点值范围-10^4 ~ 10^4
输出
合并后的升序链表(值数组形式)。
示例一
输入:
lists = [[1,4,5],[1,3,4],[2,6]]
输出:
[1,1,2,3,4,4,5,6]
示例二
输入:
lists = []
输出:
[]
示例三
输入:
lists = [[]]
输出:
[]
复杂度要求
- 时间复杂度:
O(N log k),N为总节点数,k为链表条数 - 空间复杂度:
O(1)(不计输入输出)
Loading...
输入
[[[1,4,5],[1,3,4],[2,6]]]
预期输出
[1,1,2,3,4,4,5,6]