当前位置: 首页 > news >正文

《C++ 递归、搜索与回溯》第2-3题:合并两个有序链表,反转链表

《C++ 递归、搜索与回溯》第2-3题:合并两个有序链表 & 反转链表
(2026年清晰 + 优雅写法推荐)

这两道题都是链表操作的经典题目,同时也是考察递归思维迭代思维转换的绝佳练习题。下面给出最常用、最清晰的几种写法,并标注优缺点与推荐场景。

题目1:合并两个有序链表(Merge Two Sorted Lists)

题目描述
将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例

输入:l1 = 1→2→4, l2 = 1→3→4 输出:1→1→2→3→4→4
解法对比(推荐程度排序)
序号写法空间复杂度可读性推荐指数备注与适用场景
1递归(最优雅)O(n+m)★★★★★★★★★★面试首选,代码最短最美
2迭代(哑节点)O(1)★★★★☆★★★★☆最稳,生产环境最常用(空间最优)
3迭代(不使用哑节点)O(1)★★★☆☆★★☆☆☆边界处理麻烦,不推荐

推荐写法1:递归(最推荐面试写法)

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */classSolution{public:ListNode*mergeTwoLists(ListNode*list1,ListNode*list2){// 递归终止条件:有一个链表为空,直接返回另一个if(list1==nullptr)returnlist2;if(list2==nullptr)returnlist1;// 选择较小的一个作为头节点,递归处理剩余部分if(list1->val<list2->val){list1->next=mergeTwoLists(list1->next,list2);returnlist1;}else{list2->next=mergeTwoLists(list1,list2->next);returnlist2;}}};

一句话记忆递归版精髓
“谁小谁当头,头后面接上剩下的两个链表的合并结果”

推荐写法2:迭代 + 哑节点(生产最稳)

classSolution{public:ListNode*mergeTwoLists(ListNode*list1,ListNode*list2){ListNodedummy(0);// 哑节点(虚拟头节点)ListNode*tail=&dummy;// 尾指针,用于拼接while(list1&&list2){if(list1->val<list2->val){tail->next=list1;list1=list1->next;}else{tail->next=list2;list2=list2->next;}tail=tail->next;// 尾指针后移}// 剩余部分直接接上(最多剩一条链表)tail->next=list1?list1:list2;returndummy.next;}};

题目2:反转链表(Reverse Linked List)

题目描述
给你单链表的头节点head,请你反转链表,并返回反转后的链表。

示例

输入:head = 1→2→3→4→5 输出:5→4→3→2→1
解法对比
序号写法空间复杂度可读性推荐指数备注与适用场景
1递归(优雅版)O(n)★★★★★★★★★☆面试加分项,理解递归本质好
2迭代(三指针)O(1)★★★★☆★★★★★最稳、最常用、生产首选
3头插法O(1)★★★☆☆★★★☆☆写法简单,但边界容易错

推荐写法1:迭代三指针(最推荐生产写法)

classSolution{public:ListNode*reverseList(ListNode*head){ListNode*prev=nullptr;ListNode*curr=head;while(curr){ListNode*nextTemp=curr->next;// 先保存下一个节点curr->next=prev;// 反指prev=curr;// 前进一步curr=nextTemp;}returnprev;// 最后prev就是新头}};

推荐写法2:递归(面试炫技版)

classSolution{public:ListNode*reverseList(ListNode*head){// 终止条件:空链表或只有一个节点,直接返回if(!head||!head->next){returnhead;}// 递归到最后一个节点(新头)ListNode*newHead=reverseList(head->next);// 反转指针:当前节点的下一个节点的下一个指向当前节点head->next->next=head;// 断开原连接(防止形成环)head->next=nullptr;returnnewHead;}};

递归版一句话理解
“先递归到链表尾部,然后从后向前依次把每个节点的next指针反指回来”

总结对比表(快速背诵)

题目推荐写法优先级空间时间面试得分生产稳健度
合并有序链表递归 > 迭代哑节点O(n)O(n+m)递归最高迭代最高
反转单链表迭代三指针 > 递归O(1)O(n)递归炫技迭代最高

建议练习顺序

  1. 先手写迭代版合并迭代版反转(最稳)
  2. 再写递归版两种(加深递归理解)
  3. 最后尝试不看代码默写两道题的递归+迭代各一遍

这两道题练熟了,链表递归的“从后向前处理”思维就会非常扎实,为后续的很多题目(如回文链表、链表排序、LRU缓存等)打下坚实基础。

你现在想继续练哪一道?
或者想看这两道题的进阶变形(如K个一组翻转、排序链表等)?

http://www.jsqmd.com/news/258829/

相关文章:

  • 前端基础知识
  • 大兴安岭加格达奇松岭新林呼中英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025
  • 使用 Java 实现一个简单且高效的任务调度框架
  • 免费网站进阶!——InfinityFree创建数据库教程 - Sail-With
  • 基于 Spring Boot 的 Web 三大核心交互案例精讲
  • 大兴安岭呼玛塔河漠河英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025
  • 他到底喜欢我吗?赛博塔罗Java+前端实现,一键解答!
  • 2026年母线槽厂家推荐榜:宝应东茂电气全系供应耐火/密集/封闭/管型母线槽,适配多场景电力传输 - 品牌推荐官
  • 2026年管道坡口机厂家实力推荐榜:深圳凯德盛全系供应,覆盖钢板/平板/便携式等10类机型 - 品牌推荐官
  • 【C++】哈希扩展——位图和布隆过滤器的介绍与实现
  • 2026年铝板厂家实力推荐榜:5754/6061/氧化/1060/3003/冲孔/5083/5052铝板全系供应,上海岱通铝业领衔 - 品牌推荐官
  • Proxmox VE Helper-Scripts版本更新测试计划:验证矩阵 - 教程
  • 重新定义需求分析:从“写文档”回归“造价值” - 实践
  • 2026年高压/夹布/大口径输水胶管权威推荐榜:河北鼎通橡塑制品有限公司适配矿山、建筑、农业多场景输水解决方案 - 品牌推荐官
  • Stirling
  • 2026年IP66庭院灯厂家权威推荐榜单:庭院太阳能灯/户外照明庭院灯/农村庭院灯/IP65庭院灯/乡村路灯源头厂家精选 - 品牌推荐官
  • 2026年管道设备推荐:沧州铭信管道有限公司,涂塑/耐磨/衬塑/衬胶/双金属管道全解析 - 品牌推荐官
  • 2025年郑州电线电缆回收公司推荐榜:郑州恒森二手空调回收,电缆回收/废旧电缆回收/旧电缆回收/回收电缆/收购电线电缆/回收废旧电缆/回收电线电缆/电缆收购/收购电缆公司精选 - 品牌推荐官
  • 2026年吨包袋厂家实力推荐:唐山吴晨嘉科技,防水/耐磨/定制吨包袋全系供应 - 品牌推荐官
  • 十年深耕,代码为证:深度盘点昊客网络APP/小程序/软件开发的实力服务与成功客户实践 - 深圳昊客网络
  • 2026年不锈钢球/302不锈钢球/轴承钢球厂家推荐:常州市苏南伟杰钢球有限公司全系产品供应 - 品牌推荐官
  • 2026年北京云服务器代理阿里云公司实力推荐榜单:云服务器代理华为云 /云服务器代理天翼云 /云服务器代理火山云 /云服务器代理腾讯云服务商精选 - 品牌推荐官
  • Windows免费开源神器!这款番茄时钟,治好了我10年拖延症!
  • 绥化市绥棱青冈庆安英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025
  • 2026年复卷机设备推荐榜:苏州富日智能装备有限公司,双轴/分切/全自动复卷机全系供应 - 品牌推荐官
  • 2025年辽宁儿童感统训练方法公司权威推荐榜单:儿童感统训练 /亲子感统训练 /感统训练游戏/ 幼儿感统训练/ 感统训练机构/ 感统训练中心服务精选 - 品牌推荐官
  • 备份恢复--SMP(软件制作平台)语言基础知识之三十九
  • 给电脑软件或者网站加密怎么弄?这款隐私保护加密软件来啦~可自定义密码,使用完全免费!
  • 2026年单锥真空干燥机推荐榜:常州市力群闪蒸干燥设备有限公司,螺带/螺旋/立式/大型/DZLG全系供应 - 品牌推荐官
  • 电脑端录音软件,使用完全免费,不限制录音时长和次数,可调节音质,增大降低音量,一键录制~自媒体必备神器!