news 2026/7/14 3:49:06

leetcode 23. 合并 K 个升序链表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 23. 合并 K 个升序链表

思路:采用了暴力破解法

1.值收集:遍历 K 个链表的所有节点,将节点值存入数组,把 “链表的有序合并” 转化为 “数组的排序”;
2.数组排序:利用系统排序函数对存储节点值的数组进行升序排序,得到全局有序的数值序列;
3.链表重建:以排序后的数组为基础,逐个创建链表节点并拼接,生成最终的升序链表。

创建一个整型数组,用于存放 链表中所有节点的数值。

链表的优势是 “动态插入删除”,但此处我们需要全局排序,数组的随机访问和排序操作更高效、更易实现。

外层循环:遍历输入的 lists 数组(lists 中每个元素是一个链表的头指针),head 代表当前遍历到的链表的头节点。逐个处理 K 个链表,确保没有遗漏任何一个链表。

内层循环:定义指针,初始指向当前链表的头节点,用于遍历该链表的所有节点。
循环条件 : 只要指针不指向空(即未到链表末尾),就继续遍历,将当前节点的数值 val 存入数组。然后指针向后移动一位,指向链表的下一个节点,直到遍历到链表末尾。

排序。

然后定义虚拟头节点,避免处理空链表的特殊情况,同时无需单独处理第一个节点的头指针赋值 问题,所有新节点都可以统一拼接到 dummy 之后

定义指针 p,初始指向虚拟头节点 dummy,作为移动指针,负责逐个拼接新创建的链表节点,避免频繁修改头指针。

最后返回dummy.next,因为dummy是虚拟头节点,他的后一个才是真正的头节点

时间复杂度:O(NlogN)
遍历所有节点收集值:O(N)(N 为所有节点的总数,每个节点仅访问一次);
数组排序:O(NlogN)(sort 函数的时间复杂度);
重建链表:O(N)(每个数值仅创建一次节点);
总复杂度由最高项决定,即 O(NlogN)。

class Solution {

public:

ListNode* mergeKLists(vector<ListNode*>& lists) {//用listnode表示链表时,ListNode * 默认代表链表头

vector<int> a;

for(ListNode* head:lists){//外层循环遍历lists数组中每个链表的头指针

ListNode* p=head;

while(p!=nullptr){//内层循环遍历当前链表的每个节点,到链表末尾

a.push_back(p->val);

p=p->next;

}

}

sort(a.begin(),a.end());

ListNode dummy(0);//创建一个虚拟头节点

ListNode* q=&dummy;

for(int b:a){

q->next=new ListNode(b); //用当前数值创建新节点,接在q指针之后

q=q->next;

}

return dummy.next;

}

};

这个方法的核心是通过收集所有节点值→排序数组→重建链表的三步操作,把合并 K 个有序链表转化为更易实现的数组操作。

它的优势是思路直观、代码好写,用数组排序规避了复杂的链表指针操作,虚拟头节点还能处理空链表等边界情况;缺点是需要额外数组空间,时间复杂度为O(NlogN)(N 是总节点数),适合小规模数据或快速实现的场景。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 21:48:10

北京化工大学《Chem. Commun.》突破:液体焦耳加热“秒级”合成催化剂,性能碾压贵金属!

导语 电解水制氢的核心催化剂合成技术迎来效率革命&#xff01;北京化工大学胡传刚教授与苏州科技大学郭春显教授团队在化学领域权威期刊《Chemical Communications》 上发表重要研究成果。该团队首创 “超快液体焦耳加热” 技术&#xff0c;在数秒内即可在泡沫镍上原位合成出高…

作者头像 李华
网站建设 2026/7/14 5:06:03

中国石油大学/天津大学《CEJ》突破:0.5秒极速“烧”制合金膜,实现CO₂到甲酸近100%高效转化

导语 将温室气体CO₂高效、高选择性地转化为高价值化学品&#xff0c;是实现“双碳”目标的核心技术之一。近日&#xff0c;中国石油大学吴文婷教授、宁汇副教授及天津大学陈亚楠教授团队在国际权威期刊《Chemical Engineering Journal》上发表创新成果。该研究采用一种毫秒级焦…

作者头像 李华
网站建设 2026/7/13 12:39:57

工业物联网下的智能安全防线:基于以太网的多参量传感器设计与应用

在化工、仓储、污水处理等高危工业场景中&#xff0c;环境安全监测是保障人员生命与设备稳定运行的关键环节。然而&#xff0c;传统依赖单一气体检测仪或人工巡检的方式&#xff0c;普遍存在监测盲区大、响应滞后、系统集成困难等问题&#xff0c;难以满足现代安全生产对实时性…

作者头像 李华
网站建设 2026/7/12 19:23:42

SGMICRO圣邦微 SGM2017-3.3XN5/TR SOT23-5 线性稳压器(LDO)

特性 工作输入电压范围:2.5V至5.5V 固定输出电压为2.8V和3.3V 输出电流:300mA 电流:77微A(TYR) 低压差:在300mA时为300mV(典型值)低噪声:30uVrms(典型值)(10Hz至100kHz)高PSRR:在1kHz时典型值为73dB 电流限制与热保护 使用小型封装陶瓷电容实现稳定运行关断供电电流:0.01uA(典型…

作者头像 李华
网站建设 2026/7/12 7:45:48

SGMICRO圣邦微 SGM2019-1.3YN5G/TR SOT-153 线性稳压器(LDO)

特性 工作输入电压范围:2.5V至5.5V 固定输出电压: 1.2V,1.5V,1.8V,2.5V,2.6V,2.8V,2.85V,3.0V,3.3V可调输出电压范围:1.2V至5.0V输出电压精度:25C时士2.5% 低输出噪声:30pVRMS(典型值) 低压差电压:在300mA时为270mV(典型值) 高PSRR:在1kHz时典型值为74dB 关断电流:0.01uA(典型值…

作者头像 李华