算法与数据结构(合并有序链表)

embedded/2025/2/7 1:23:19/

思路:

本题可以用迭代或递归两种方法来解题:

本次的方法为递归,通过不断来移动链表中元素的位置实现递归

解题过程:

L1: 1   2   4

L2: 1   3   4

首先判断两个链表都不为空,所以前两个条件不符合

接着判断list1->val以及list2->val的大小

(1)若list1->val < list2->val

则说明L1应该在L2的前面,所以进行递归

(2)如果list1->val >= list2->val,则执行以下操作

递归的详细步骤:

第一步:首先比较list1的1和list2的1

执行(2)

返回了list2,直接确定了文件的头,因为确定了文件的头为list2的第一个数字,则list2的数字向后移一个单位

返回的链表:1

第二步:比较list1的1和list2的3

执行(1)

返回了list1,则上一个list2->next = list1

返回的链表: 1->1

第三步:比较list1的2和list2的3

执行(1)

返回了list1,则上一个list1->next = list1

返回的链表: 1->1->2

第四步:比较list1的4和list2的3

执行(2)

返回了list2,则上一个list1->next = list2

返回的链表: 1->1->2->3

第五步:比较list1的4和list2的4

执行(2)

返回了list2,则上一个list2->next = list2

返回的链表: 1->1->2->3->4

第六步:检测到list2为空

则直接返回list1

则上一个list2->next = list1

返回的链表: 1->1->2->3->4->4

代码:

class Solution {
public:ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {if(!list1)return list2;else if(!list2){return list1;}    else if(list1->val < list2->val){list1->next = mergeTwoLists(list1->next, list2); return list1;}else{list2->next = mergeTwoLists(list1, list2->next); return list2;}}
};


http://www.ppmy.cn/embedded/160167.html

相关文章

【阅读笔记】LED显示屏非均匀度校正

一、背景 发光二极管&#xff08;LED&#xff09;显示屏具有色彩鲜艳、图像清晰、亮度高、驱动电压低、功耗小、耐震动、价格低廉和使用寿命长等优势。LED显示图像的非均匀度是衡量LED显示屏显示质量的指标&#xff0c;非均匀度过高&#xff0c;会导致LED显示图像出现明暗不均…

UE5 蓝图学习计划 - Day 14:搭建基础游戏场景

在上一节中&#xff0c;我们 确定了游戏类型&#xff0c;并完成了 项目搭建、角色蓝图的基础设置&#xff08;移动&#xff09;。今天&#xff0c;我们将进一步完善 游戏场景&#xff0c;搭建 地形、墙壁、机关、触发器 等基础元素&#xff0c;并添加角色跳跃功能&#xff0c;为…

mac安装wireshark

mac启动wireshark时&#xff0c;提示没有权限抓包&#xff0c;报错内容如下&#xff1a; “The capture session could not be initiated on interface ‘en0’ (You don’t have permission to capture on that device). Please check to make sure you have sufficient perm…

VSCode中使用EmmyLua插件对Unity的tolua断点调试

一.VSCode中搜索安装EmmyLua插件 二.创建和编辑launch.json文件 初始的launch.json是这样的 手动编辑加上一段内容如下图所示&#xff1a; 三.启动调试模式&#xff0c;并选择附加的进程

基于 SpringBoot 的电影购票系统

基于SpringBoot的电影购票系统是一个集成了现代化Web开发技术的在线电影票务平台。以下是对该系统的详细介绍&#xff1a; 一、系统背景与意义 随着电影行业的快速发展和观众对观影体验的不断追求&#xff0c;电影票务管理面临着越来越多的挑战。传统的票务管理方式存在效率低…

20250202在Ubuntu22.04下使用Guvcview录像的时候降噪

20250202在Ubuntu22.04下使用Guvcview录像的时候降噪 2025/2/2 21:25 声卡&#xff1a;笔记本电脑的摄像头自带的【USB接口的】麦克风。没有外接3.5mm接口的耳机。 缘起&#xff1a;在安装Ubuntu18.04/20.04系统的笔记本电脑中直接使用Guvcview录像的时候底噪很大&#xff01; …

【Elasticsearch】date range聚合

好的&#xff0c;继续之前的示例&#xff1a; json ] } } } } 4.3 自定义键&#xff08;key&#xff09; 通过为每个范围指定一个唯一的键&#xff08;key&#xff09;&#xff0c;可以在结果中更方便地引用每个范围。这在使用keyed参数将结果以键值对形式返回时尤其有用。 j…

Python 操作列表(元组)

在本章中&#xff0c;你将学习如何遍历 整个列表&#xff0c;这只需要几行代码&#xff0c;无论列表有多长。循环让你能 够对列表的每个元素都采取一个或一系列相同的措施&#xff0c;从而高效地处理任何长度的列表&#xff0c;包括包含数千乃至数百万个元素的列表。 元组 列表…