《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.mzph.cn/news/1174195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

绥化市兰西望奎明水英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在雅思备考热潮中,绥化市兰西、望奎、明水三地考生普遍面临雅思培训选课难、提分无方向、考试适配性不足等核心痛点。如何筛选出优质靠谱的教育机构,获取实用的提分技巧与个性化备考方案,实现高分目标,成为考生和家…

大兴安岭加格达奇松岭新林呼中英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在全球化留学热潮下,雅思成绩已成为大兴安岭地区(含加格达奇、松岭、新林、呼中)学子出国深造的核心门槛。然而,本地雅思培训市场存在资源稀缺、优质机构难甄别等问题,多数考生深陷雅思培训选课迷茫、考试提分乏力…

前端基础知识

前端基础知识完整梳理&#xff08;2026年实用版&#xff09; 适合0-2年前端从业者快速查漏补缺 / 面试复习 / 自学路线规划 一、前端知识体系层级图&#xff08;2026主流认知&#xff09; ┌──────────────────────────────┐ │ 浏览…

使用 Java 实现一个简单且高效的任务调度框架

使用 Java 实现一个简单且高效的任务调度框架&#xff08;2026年实用版&#xff09; 任务调度框架是后台系统中的核心组件&#xff0c;用于管理定时任务、延迟任务、周期任务等。Java 生态中已有 Quartz、Spring Task 等成熟框架&#xff0c;但如果你想从零实现一个简单、高效…

免费网站进阶!——InfinityFree创建数据库教程 - Sail-With

本文讲述了如何在 "InfinityFree" 中创建数据库💖InfinityFree 简介 InfinityFree是一个提供免费虚拟主机服务的平台。每个账户可创建3个站点,支持自定义域名(需使用其提供的二级域名) 1 ⭐创建网站详见…

基于 Spring Boot 的 Web 三大核心交互案例精讲

基于 Spring Boot 的 Web 三大核心交互案例精讲 &#xff08;2026年最实用写法 企业真实场景&#xff09; 在 Spring Boot Web 开发中&#xff0c;真正决定项目质量和维护难度的&#xff0c;往往不是写了多少 Controller&#xff0c;而是你是否真正掌握了以下三大核心交互场景…

大兴安岭呼玛塔河漠河英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在全球化留学热潮下,雅思成绩已成为大兴安岭、呼玛、塔河、漠河地区学子出国深造的核心门槛,然而本地考生普遍面临雅思培训优质资源匮乏、选课迷茫、提分路径模糊等痛点。如何筛选靠谱实用的教育机构,获取高效提分技…

2026年母线槽厂家推荐榜:宝应东茂电气全系供应耐火/密集/封闭/管型母线槽,适配多场景电力传输 - 品牌推荐官

在电力传输领域,母线槽与管型母线作为核心设备,其性能直接影响系统稳定性与安全性。宝应东茂电气有限公司凭借技术积累与产品创新,成为行业关注的焦点。该公司专注母线槽与管型母线研发制造,构建了从产品设计到技术…

他到底喜欢我吗?赛博塔罗Java+前端实现,一键解答!

// 后端&#xff1a;Spring Boot 实现赛博塔罗API // 项目结构&#xff1a; // - pom.xml // - src/main/java/com/example/TarotApplication.java // - src/main/java/com/example/controller/TarotController.java // - src/main/java/com/example/model/TarotCard.java // -…

2026年管道坡口机厂家实力推荐榜:深圳凯德盛全系供应,覆盖钢板/平板/便携式等10类机型 - 品牌推荐官

在焊接辅助设备领域,深圳凯德盛机械设备有限公司凭借全链条技术积累与市场深耕,成为管道坡口机行业的标杆企业。其产品线覆盖管道坡口机、内涨式坡口机、钢板坡口机、平板坡口机、便携式管道坡口机、手提式坡口机、管…

2026年铝板厂家实力推荐榜:5754/6061/氧化/1060/3003/冲孔/5083/5052铝板全系供应,上海岱通铝业领衔 - 品牌推荐官

在工业材料领域,铝板因其轻量化、耐腐蚀、易加工等特性,广泛应用于航空航天、汽车制造、建筑装饰、电子电器等多个行业。随着市场需求的多元化发展,铝板的种类与规格不断丰富,其中5754铝板、6061铝板、氧化铝板、1…

【C++】哈希扩展——位图和布隆过滤器的介绍与实现

【C】哈希扩展——位图和布隆过滤器的介绍与实现&#xff08;2026年实用版&#xff09; 哈希扩展是数据结构中的高频话题&#xff0c;尤其在海量数据场景&#xff08;如缓存、去重、搜索&#xff09;。位图&#xff08;Bitmap&#xff09; 和 布隆过滤器&#xff08;Bloom Fil…

Proxmox VE Helper-Scripts版本更新测试计划:验证矩阵 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

重新定义需求分析:从“写文档”回归“造价值” - 实践

重新定义需求分析:从“写文档”回归“造价值” - 实践2026-01-17 16:48 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; d…

2026年高压/夹布/大口径输水胶管权威推荐榜:河北鼎通橡塑制品有限公司适配矿山、建筑、农业多场景输水解决方案 - 品牌推荐官

河北鼎通橡塑制品有限公司生产的大口径胶管,仅仅是其庞大的产品矩阵中的一个环节。在现代工业输送系统中,无论是矿山排水、建筑供水还是农业灌溉,胶管的质量直接关系到整个系统的安全与效率。01 行业全景:输水胶管…

2026年IP66庭院灯厂家权威推荐榜单:庭院太阳能灯/户外照明庭院灯/农村庭院灯/IP65庭院灯/乡村路灯源头厂家精选 - 品牌推荐官

在户外照明领域,IP66防护等级已成为衡量庭院灯在复杂户外环境中长期可靠性的核心指标。它代表了灯具对灰尘的完全防护以及抵御强力喷水的能力,这对于应对我国多样的气候条件至关重要。随着城乡人居环境提升与智慧城市…

Stirling

讲一些其他地方可能见不到的东西。 这里有一题叫做碎梦。 线性递推做到 \(O(m^3\log n)\) 是平凡的。没写出来的敲一下。 \(k\) 很小。好像可以做点文章。 考虑每两个点值 \(S(x_1,y_1),S(x_2,y_2)\) 之间的贡献。假设…

2026年管道设备推荐:沧州铭信管道有限公司,涂塑/耐磨/衬塑/衬胶/双金属管道全解析 - 品牌推荐官

在管道工程领域,管道材质与工艺的选择直接影响系统的运行效率与使用寿命。沧州铭信管道有限公司凭借多年技术积累,形成了覆盖涂塑管道、耐磨管道、内外衬塑管道、碳钢衬塑管道、衬塑管道、耐磨衬胶管道、衬胶管道、双…

2025年郑州电线电缆回收公司推荐榜:郑州恒森二手空调回收,电缆回收/废旧电缆回收/旧电缆回收/回收电缆/收购电线电缆/回收废旧电缆/回收电线电缆/电缆收购/收购电缆公司精选 - 品牌推荐官

在郑州的城市更新浪潮中,工业区改造与老旧小区升级产生了大量废旧电缆。一家深耕郑州市场8年的本地公司,仅一年就专业处理超过2000吨废旧电缆,服务超3000家客户,成为区域循环经济的关键节点。 随着“无废城市”建设…

2026年吨包袋厂家实力推荐:唐山吴晨嘉科技,防水/耐磨/定制吨包袋全系供应 - 品牌推荐官

在工业包装领域,吨包袋作为大宗货物运输的核心载体,其性能直接关系到物流效率与货物安全。据行业数据显示,2025年国内吨包袋市场规模已突破120亿元,年复合增长率达8.3%,其中防水、耐磨、定制化产品需求占比超过65…