23.合并两个有序链表

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

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []
输出:[]

示例 3:

输入:l1 = [], l2 = [0]
输出:[0]

思路:新建一个虚拟头节点,也就是新的链表。然后在while循环里面,两个指针同时遍历两个链表的结点,然后比较,把value值小的结点取出来接到新链表当前节点的next,然后小的那个往后移动一个节点,继续比较。

while循环的条件是l1 l2都不为空指针,当有一个为空指针时,退出循环,把另一个链表的剩余部分接到新链表中。

class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {ListNode* dummy=new ListNode(0);ListNode* cur=dummy;while(list1&&list2){if(list1->val>=list2->val){cur->next=list2;list2=list2->next;}else{cur->next=list1;list1=list1->next;}cur=cur->next; //新链表的当前指针别忘了往后移动一个节点。}cur->next=list1?list1:list2; //如果list1指针为空,那么把list2接到cur->next,否则把list1接到next。return dummy->next;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/557243.html

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

相关文章

蓝桥杯刷题(十三)

1.煤球数目 代码 cnt ans 0 start 1 a [] while cnt<100:ansstartstart 1t ansstartcnt1a.append(ans) print(sum(a))2.奖券数目 代码 def f(x)->bool:while x:if x%104:return Falsex//10return True ans 0 for i in range(10000,100000):if f(i):ans1 print(a…

24计算机考研调剂 | (研究所)北京微电子技术研究所

北京微电子技术研究所2024年考研调剂信息 调剂信息 一、招生专业 二、调剂对象 统考科目为思想政治理论、英语&#xff08;一&#xff09;、数学&#xff08;一&#xff09;&#xff1b;本科为电子科学与技术、微电子学、集成电路设计、电子信息工程、通信工程、计算机科学与…

聊聊 IO

聊聊IO 1、I/O&#xff1a;Input/Output 磁盘 IO&#xff1a;读写磁盘文件 网络 IO&#xff1a;读写 socket 文件 标准输入输出&#xff1a;读写控制台 2、阻塞 IO 应用进程发起 read() 请求之后&#xff0c;调用recvfrom()阻塞&#xff0c;直到数据进入数据接收队列。 数…

C++命名规则

如果想要有效的管理一个稍微复杂一点的体系&#xff0c;针对其中事物的一套统一、带层次结构、清晰明了的命名准则就是必不可少而且非常好用的工具。 活跃在生物学、化学、军队、监狱、黑社会、恐怖组织等各个领域内的大量有识先辈们都曾经无数次地以实际行动证明了以上公理的…

本地项目文件夹创建python文件并配置conda环境的完整流程

1 在Pycharm中创建新项目 位置就是本地的项目文件夹 2 接着打开pycharm的终端 创建conda环境&#xff08;这个过程需要保证conda.exe能够被系统路径识别&#xff09; conda create --name my_environment&#xff08;my_environment取自己想要的环境名字&#xff09; 还可以指…

java 两个Dto对象有字段数据不一致可Objects.equals方法却返回了一致?(问题分析与结论)

java 两个Dto对象有字段数据不一致可Object.equals方法却返回了一致&#xff1f;&#xff08;问题分析与结论&#xff09; 问题描述 以示意代码非原业务代码描述解释 基础类DownloadCenterBaseParam 子类 DashBoardQueryDto 新建两个对象并比对equals public static voi…

误删了Linux系统的libm.so.6文件与libm-2.27.so的软链接导致的开机出现kernel panic的解决方案(图文U盘救援详细教程)

事情起因 最近在做嵌入式视觉&#xff0c;捣弄rknn3588&#xff0c;在推理过程中报了一个错&#xff0c;就是说我的GLIBC的版本太低了&#xff0c;我也没有多想&#xff0c;想着升一下版本就好了&#xff0c;然后找到了这篇博客。【请谨慎操作】Ubuntu18.04升级GLIBC_2.29&…

【一起学Rust | 基础篇】rust线程与并发

文章目录 前言一、创建线程二、mpsc多生产者单消费者模型1.创建一个简单的模型2.分批发送数据3. 使用clone来产生多个生产者 三、共享状态&#xff1a;互斥锁1. 创建一个简单的锁2. 使用互斥锁解决引用问题 前言 并发编程&#xff08;Concurrent programming&#xff09;&#…

8节点空间壳单元Matlab有限元编程 | 曲壳单元 | 模态分析 | 3D壳单元 | 板壳理论| 【源代码+理论文本】

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现&#xff0c;并提供所有案例完整源码&#xff1b;2.单元…

蓝桥杯2023省赛:矩阵总面积|模拟、数学(几何)

题目链接&#xff1a; 0矩形总面积 - 蓝桥云课 (lanqiao.cn) 说明&#xff1a; 参考文章&#xff1a;矩形总面积计算器&#xff1a;计算两个矩形的总面积&#xff0c;包括重叠区域_矩形r1的左下角坐标为x1, yl 、宽度为w1、高度为h1, 矩形r2的左下角坐标为x2,y2、宽-CSDN博客…

【开发环境搭建篇】Redis客户端安装和配置

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

Linux系统资源管理

Linux系统资源命令 在Linux中查看系统资源常用命令有哪些 在Linux中&#xff0c;系统资源是指计算机硬件、软件和网络设备等可以利用的一切物质和能量。Linux中的系统资源包括&#xff1a; CPU&#xff08;中央处理器&#xff09;&#xff1a;用于处理计算机中的指令和数据的…