news 2026/6/23 21:38:20

【每天学习一点算法 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/6/23 18:58:30

ASTM D4169-DC13 标准,包装完整性

标准全称&#xff1a;Standard Practice for Performance Testing of Shipping Containers and Systems (运输集装箱和系统性能测试的标准实施规程)发布机构&#xff1a;美国材料与试验协会 (ASTM International)最新版本&#xff1a;ASTM D4169-2023e1&#xff08;2024 年 3 月…

作者头像 李华
网站建设 2026/6/23 18:59:47

Linux新手必学:tail命令图解指南

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 制作一个交互式新手教程&#xff0c;包含&#xff1a;1. tail命令基础介绍动画 2. 实时命令行模拟器 3. 渐进式练习(从查看文件末尾到实时监控) 4. 常见错误提示。使用HTMLJS实现&a…

作者头像 李华
网站建设 2026/6/23 4:52:02

19、利用Scapy和Python进行网络数据包处理与扫描

利用Scapy和Python进行网络数据包处理与扫描 1. Scapy数据包捕获与重放 Scapy具备监听网络接口并捕获所有传入数据包的能力,它可以像tcpdump一样将数据包写入pcap文件。此外,Scapy还提供了读取和重放pcap文件的额外功能。 1.1 简单数据包重放 以下是一个简单的数据包重放…

作者头像 李华
网站建设 2026/6/23 4:04:59

性能测试里MySQL的锁

这篇文章我想来聊聊 MySQL 的锁是怎么加上的&#xff0c;为啥想聊这个呢&#xff1f;主要是因为业务中我们或多或少都会使用到锁&#xff0c;毕竟锁是保障我们数据安全性的关键法宝。但是由于不了解原理&#xff0c;往往可能导致我们在”刻意“或者”无意“的使用场景下&#x…

作者头像 李华
网站建设 2026/6/23 19:27:56

OBS教程:OBS实时字幕插件如何下载?直播字幕翻译怎么弄?

OBS教程&#xff1a;OBS实时字幕插件如何下载&#xff1f;直播字幕翻译怎么弄&#xff1f;直播实时翻译软件哪个好&#xff1f;OBS实时字幕插件官方下载地址 首先介绍一下OBS实时字幕插件支持哪些功能&#xff1a; 1、将主播所说的话显示为文字&#xff0c;逐字逐句实时显示字…

作者头像 李华
网站建设 2026/6/23 20:59:01

MagicTime: Time-Lapse Video Generation Models asMetamorphic Simulators论文精读(1)

T2V的最新进展在文本描述合成高质量的一般视频方面取得了显著成功&#xff0c;但是在T2V中有一个被忽视的问题&#xff1a;没有充分编码真实世界的物理知识&#xff0c;因此生成的视频往往运动会被限制&#xff0c;变化不佳。因此本文提出了一个变形延时视频生成模型&#xff0…

作者头像 李华