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

2023-08-05 LeetCode每日一题(合并两个有序链表)

2023-08-05每日一题

一、题目编号

21. 合并两个有序链表

二、题目链接

点击跳转到题目位置

三、题目描述

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例1:
在这里插入图片描述

示例2:
在这里插入图片描述

示例3:
在这里插入图片描述
提示:

  • 两个链表的节点数目范围是 [0, 50]
  • -100 <= Node.val <= 100
  • l1 和 l2 均按 非递减顺序 排列

四、解题代码

/*** 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) {}* };*/
class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {if(list1 == nullptr){return list2;}if(list2 == nullptr){return list1;}ListNode* dummyHead = new ListNode();ListNode* head = dummyHead;while(list1 != nullptr && list2 != nullptr){if(list1->val <= list2->val){head->next = list1;list1 = list1->next;} else{head->next = list2;list2 = list2->next;}head = head->next;head->next = nullptr;}if(list1 != nullptr){head->next = list1;}if(list2 != nullptr){head->next = list2;}return dummyHead->next;}
};

五、解题思路

(1) 使用一个dummyHead来辅助,采用最简单的插入链表结点的方式。依次在dummyHead后面插入list1和list2中结点小的结点,最终再插入未插入完的链表即可。

(2) 当然不要忘记在最初的时候进行判断,如果其中一个是空链表就输出另外一个链表即可。

(3) 最后返回dummyHead后面接的链表即可。

http://www.lryc.cn/news/109751.html

相关文章:

  • 【每天40分钟,我们一起用50天刷完 (剑指Offer)】第四十七天 47/50
  • 离散型制造业生产管理云MES系统解决方案
  • 【Vue】全家桶介绍
  • 【雕爷学编程】MicroPython动手做(33)——物联网之天气预报2
  • macOS 虚拟桌面黑屏(转)
  • 查看gz文件 linux zcat file.gz mtx.gz
  • 互联网——根服务器
  • 华为OD机试之报文回路(Java源码)
  • 林大数据结构【2019】
  • 2023华数杯数学建模A题思路分析 - 隔热材料的结构优化控制研究
  • Linux常用命令——dos2unix命令
  • 【NLP pytorch】基于BERT_TextCNN新闻文本分类实战(项目详解)
  • 决策树与随机森林
  • Nginx 网站服务
  • Python爬虫——爬虫时如何知道是否代理ip伪装成功?
  • flink1.17 json_tuple udf 实现
  • Vue3实现6位验证码输入框,用户可以连续输入和删除
  • 如何在终端设置代理(设置jupyter notebook同理)
  • git报错:Error merging: refusing to merge unrelated histories
  • QT-QLabel显示图片,按QLabel控件的大小自动缩放
  • 【JS代码调试技巧】你必须知道的Javascript技巧汇总
  • JAVA-@Configuration注解属性proxyBeanMethods
  • 锁策略, cas 和 synchronized 优化过程总结
  • 正点原子HAL库入门1~GPIO
  • 华为VRP 系统基础配置
  • 面试热题(打家窃舍)
  • 【Deepsort】C++版本Deepsort编译(依赖opencv,eigen3)
  • Synchronized锁升级过程
  • 汽车电子功能安全
  • ARM进阶:内存屏障(DMB/DSB/ISB)的20个使用例子详解