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

[LeetCode] 21. 合并两个有序链表

题目描述:

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

示例 1:

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

示例 2:

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

示例 3:

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

提示:

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

题目链接:

. - 力扣(LeetCode)

解题主要思路:

这题明显可以用递归来完成,递归结束条件是当某一个链表为空时,返回另一条链表。而相同的部份则是找出较小val的那个链表,list_min->next= min(list_min->next->val, list_max->val);

解题代码:

/*** 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;if (list1->val <= list2->val) {list1->next = mergeTwoLists(list1->next, list2);return list1;}else {  // list2->val < list1->vallist2->next = mergeTwoLists(list1, list2->next);return list2;}}
};

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

相关文章:

  • CTFHUB技能树之SQL——MySQL结构
  • Git小知识:合理的分支命名约定
  • Ubuntu如何显示pcl版本
  • wordcloud 字体报错
  • 使用Matplotlib绘制极轴散点图
  • Elasticsearch入门:增删改查详解与实用场景
  • 【AI论文精读6】SELF-RAG(23.10)附录
  • sql-labs靶场第十七关测试报告
  • 面试官:MySQL一次到底插入多少条数据合适啊?
  • WSL2 构建Ubuntu系统-轻量级AI运行环境
  • 什么是凸二次规划问题
  • 解决 Elasticsearch cluster_block_exception 错误的终极指南
  • QT sql驱动错误QMYSQL driver not loaded
  • 数据驱动,漫途能耗管理系统打造高效节能新生态!
  • PH47代码框架软件二次开发极简教程
  • SQL Server-导入和导出excel数据-注意事项
  • Linux系统:配置Apache支持CGI(Ubuntu)
  • qt 序列化和反序列化
  • java实现文件变动监听
  • Maven的使用
  • C++开发进阶1:C++编程命名规范
  • Android 图片相识度比较(pHash)
  • Gitlab 完全卸载–亲测可行
  • gitlab操作和管理
  • ctfshow-web入门-反序列化(web254-web258)
  • repo 命令大全详解(第十一篇 repo init)
  • ComfyUI | 全新ComfyUI前端操作指南:提升你的工作速度!
  • nginx解决非人类使用http打开的443,解决网安漏扫时误扫443端口带来的问题
  • 黑马 | Reids | 基础篇
  • SAP-换登录界面图片