news 2026/5/1 10:00:31

【每天学习一点算法 2025/12/11】合并两个有序链表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【每天学习一点算法 2025/12/11】合并两个有序链表

每天学习一点算法 2025/12/11

题目:合并两个有序链表

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

  1. 递归方法看过我反转链表的应该都知道递归链表的要点。

    因为是升序的链表,所以我们每次只选当前最小的节点,剩下的部分交给递归处理

    • 终止条件:其中一个链表遍历完成

      如果list1为空(遍历完了),说明剩下的部分直接用list2就行

      如果list2为空(遍历完了),说明剩下的部分直接用list1就行

    • 递:每次选择较小的节点,向下递归调用,这样每层递归节点的值都是大于等于上一层的

    • 归:递归触底,开始逐个拼接节点

    functionmergeTwoLists(list1:ListNode|null,list2:ListNode|null):ListNode|null{// 终止条件:其中一个链表遍历完成if(!list1)returnlist2if(!list2)returnlist1// 每次选择较小的节点,将更大的节点和自己的下一节点交给递归处理if(list1.val<list2.val){list1.next=mergeTwoLists(list1.next,list2)// 返回当前递归层选择的节点returnlist1}else{list2.next=mergeTwoLists(list1,list2.next)// 返回当前递归层选择的节点returnlist2}};
  2. 还有一种方法就是遍历链表,迭代出合并的结果。

    functionmergeTwoLists1(list1:ListNode|null,list2:ListNode|null):ListNode|null{// 创建一个节点用于迭代开头constprehead=newListNode(-1);letprev=prehead// 遍历链表直到其中一个链表结束while(list1!=null&&list2!=null){// 比较节点值迭代结果if(list1.val<=list2.val){prev.next=list1 list1=list1.next}else{prev.next=list2 list2=list2.next}prev=prev.next}// 合并剩余的部分prev.next=list1===null?list2:list1// 返回链表头returnprehead.next}

题目来源:力扣(LeetCode)

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

探索双馈风力发电系统的双PWM变换器控制

双馈风力发电系统&#xff0c;双pwm变换器控制系统&#xff0c;采用直接转矩输入代替风力发电机。 &#xff08;1&#xff09;转子侧采用基于定子磁链定向的矢量控制策略&#xff0c;对d轴进行定向&#xff0c;采用双闭环控制结构&#xff0c;外环为速度环&#xff0c;内环为电…

作者头像 李华
网站建设 2026/5/1 4:23:05

AI 在智能交通系统的革命浪潮,应用架构师的应对之策

AI 在智能交通系统的革命浪潮:应用架构师的应对之策 引言:智能交通的「旧困境」与「新希望」 早高峰的北京三环,你握着方向盘看着前方望不到头的车龙,收音机里传来交通台的播报:「西直门桥双向拥堵,预计通行时间45分钟」;晚高峰的上海内环,一辆外卖电动车突然变道,引…

作者头像 李华
网站建设 2026/5/1 4:22:42

第十一章篇 实现拦截器

SpringMVC中拦截器用于对处理器(controller)进行预处理和后处理。拦截器需要实现Interceptor接口&#xff0c;接口有是哪个方法&#xff0c;分别为:preHandle: 客户端发送请求&#xff0c;在处理器执行请求之前执行preHandle方法中逻辑&#xff0c;当该方法返回true则执行下个拦…

作者头像 李华
网站建设 2026/5/1 4:22:50

Docker MCP 网关自动化发现机制详解(内部资料流出,速看)

第一章&#xff1a;Docker MCP 网关的工具发现机制Docker MCP&#xff08;Microservice Control Plane&#xff09;网关作为微服务架构中的核心组件&#xff0c;承担着服务路由、流量控制与动态发现的重要职责。其工具发现机制依赖于集成的服务注册中心与容器事件监听器&#x…

作者头像 李华
网站建设 2026/5/1 4:23:06

CDN热点扩散原理

本文分享自天翼云开发者社区《CDN热点扩散原理》.作者&#xff1a;周****鹤 图一&#xff1a;正常请求流程图 图二&#xff1a;热点请求流程图 当前CDN部署架构是一个节点内多台服务器&#xff0c;服务器同时部署网关及ATS缓存组件&#xff0c;请求通过四层负载均衡方式打到网…

作者头像 李华