21. Merge Two Sorted Lists(合并两个有序链表)

21. Merge Two Sorted Lists合并两个有序链表Python 合并两个排序的链表,并将其作为新列表返回。应通过将前两个列表的节点拼接在一起来创建新列表。 Input: [1,2,3],[1,1,4] Output:[1,1,1,2,3,4] dummy=ListNode(-1) s=dummy while l1 and l2: if l1.val<=l2.val: ... 阅读详情

问题描述

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

问题分析

我们只需要使用两个指针分别从两个链表的头部向后遍历整个链表,每一个次都让量个元素比较大小,小的元素并入的新的链表,同时指针指向后一个元素,大的元素的指针不发生改变,然后开始下一轮的比较,直到所有元素都并入新的链表。

代码

struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){
    struct ListNode * p = list1;
    struct ListNode * q = list2;
    struct ListNode * r = NULL;
    struct ListNode * answer = NULL;
    // 抓住第一个元素
    if(p&&q){
        if(p->val < q->val){
            answer = p;
            p = p->next;
        }else{
            answer = q;
            q = q->next;
        }
    }else{
        if(p){
            return p;
        }
        return q;
    }
    r = answer;
    // 改变其他元素之间指针的指向关系
    while(p!=NULL&&q!=NULL){
        if(p->val < q->val){
            r->next = p;
            p = p->next;
        }else{
            r->next = q;
            q = q->next;
        }
        r = r->next;
    }
    // 如果一个链表被并入完了,将剩余链表的元素归入指定的链表
    if(p){
        r->next = p;
    }else{
        r->next = q;
    }
    return answer;
}

提交结果截图

在这里插入图片描述

如何使用3D高斯分布进行环境建模 使用3D高斯分布来进行建模,关键在于通过引入不确定性描述来提高建图的鲁棒性和精度。与传统点云表示相比,3D高斯分布提供了一种更为灵活和有效的方式来处理空间数据,能够通过协方差矩阵表示点的空间不确定性,帮助优化SLAM过程中的定位和地图更新。 阅读详情

相关推荐

python音频信号分析

声音以具有诸如频率、带宽、分贝等参数的音频信号的形式表示,典型的音频信号可以表示为幅度和时间的函数

MAY的博客 2785

LeetCode 21. Merge Two Sorted Lists(合并两个有序链表) -- c语言

21. Merge Two Sorted Lists Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. Example: Input: 1->2-&gt...

d_benhua的博客 360

SYSU-MM01数据集评估避坑指南:从RGB/IR图像理解到Python评估脚本调优

本文详细解析了SYSU-MM01数据集在跨模态行人重识别(ReID)评估中的关键技巧与常见陷阱。从RGB/IR图像理解到Python评估脚本优化,提供了数据评估模式选择、single-shot/multi-shot差异分析、特征文件处理规范等实用指南,帮助研究者避开指标异常问题,提升评估效率与准确性。

weixin_29044713的博客 196

Leetcode 21. Merge Two Sorted Lists 合并两个有序链表

Leetcode 21. Merge Two Sorted Lists 合并两个有序链表 标签: Leetcode 题目地址:https://leetcode-cn.com/problems/merge-two-sorted-lists/ 题目描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。&nbsp; 示例: 输入:1-&gt;2-&gt;4,...

CoderWangSon 258

保姆级教程:在Win10/Win11上搞定AppScan 10.0.0安装与许可证激活(含常见报错解决)

本文提供AppScan 10.0.0在Win10/Win11上的详细安装与许可证激活指南,涵盖环境准备、分步安装、文件替换技巧及常见报错解决方案。通过专业的安全测试工具部署实践,帮助用户高效完成安装并避免常见陷阱,提升Web应用安全扫描效率。

weixin_30800987的博客 424

SPI扩展CAN方案:从寄存器配置到多路通信实战

本文详细介绍了SPI扩展CAN方案的实现方法,从寄存器配置到多路通信实战。通过使用MCP2517FD芯片和SPI接口,可低成本扩展多路CAN通道,适用于工业控制领域。文章涵盖硬件设计、寄存器配置、中断优化及性能调优等核心内容,帮助开发者高效解决设备节点过多的问题。

weixin_42657024的博客 362

21. Merge Two Sorted Lists【合并两个有序链表】

Refer: https://leetcode-cn.com/problems/merge-two-sorted-lists/solution/he-bing-liang-ge-you-xu-lian-biao-by-leetcode public ListNode mergeTwoLists(ListNode l1, ListNode l2) { if (l1 == nu...

A_bad_horse的专栏 233

SigFit实战:从FEA到光学仿真的热力耦合分析全流程解析

在光机系统与芯片封装等精密工程领域,热与力的耦合效应是影响产品性能与可靠性的核心物理问题。有限元分析(FEA)是预测结构在热、力载荷下变形与应力的基础工具,但其结果通常无法直接用于评估光学性能。这需要一座桥梁,将物理场数据转化为光学设计语言。其核心原理在于数据映射与面形表征技术,例如通过泽尼克多项式拟合,将离散的节点位移分解为离焦、像散等标准光学像差。这项技术的工程价值在于,它实现了多物理场仿真的闭环,使工程师能在设计阶段精准预测热变形或应力对波前误差、调制传递函数等关键光学指标的影响。其典型应用场景包括高

weixin_28630185的博客 334

【LeetCode系列】21 Merge Two Sorted Lists 合并两个有序链表

题目描述:LeetCode原题地址 Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有...

Olivia_he 234

学习利用ce修改游戏生命参数

易语言代码 游戏的简陋界面 用ce查找存储这个1000即生命值的内存地址(得先附加到目标程序上,点击左上角那个电脑按钮) 看到有很多值为1000的,但哪个是生命值呢?真相只有一个 我们点击一下打我这个按钮,看下面的ce界面上地址为004A65C0处的值变了,所以这个就是我们要找的生命值 接下来我们对生命值进行修改,修改为99

zsd747289639的博客 5万+

C/C++面试八股文汇总

以对象管理资源,利用的就是C++构造的对象最终会被对象的析构函数销毁的原则。上述的的申请、使用、释放资源的程序较为简单,但是如果程序很复杂的时候,需要为所有的new 分配的内存delete掉,导致极度臃肿,效率下降,更可怕的是,程序的可理解性和可维护性明显降低了,当操作增多时,处理资源释放的代码就会越来越多,越来越乱。栈在函数调用时,第一个进栈的是主函数中后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。

wzzrh的博客 1万+

【leetcode】21. 合并两个有序链表(Merge Two Sorted Lists)

题目描述 【leetcode】21. 合并两个有序链表(Merge Two Sorted Lists)) 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 第一次解答 思路: 链表都是有序的 我把第二个链表,有序的插入到第一个链表中,得到结果。 为了更方便,我们把两个链表中第一个元素小的那个作为基准, 把另一个链表插入基准中。 p1指向链表L1的第1...

Liber-coder的博客 202

2025华为OD机试真题最新题库 (B+C+D+E+2025A+2025B卷) + 在线OJ在线刷题使用(C++、Java、Python C语言 JS合集)(正在更新2025B卷,目前已收录710道)

2024年,华为目前已经启用D卷,目前D卷和C卷的题目一样一次订阅永久阅读,支持在线刷题,持续更新,有问题随时解答,本专栏题目数量已收录到484道。每篇文章的思路分析都非常详细,题目新增图解思路,问题解疑,多样例测试,超过百字的思路参考解析。

KJ.JK 11万+

LeetCode 21. Merge Two Sorted Lists【合并有序链表】

文章目录题目描述知识点结果实现码前思考代码实现码后反思参考文档 题目描述 知识点 链表 结果 实现 码前思考 就是很传统的链表操作 代码实现 //类似于归并排序的思想 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ...

yc_cy1999的博客 286

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Leetcode 21 合并两个有序链表 Merge Two Sorted Lists

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 方法一:非递归 非常经典的一道题,常用解法之一就是两个指针判断大小后依次插入一个新的链表。 注1:一些特例,如l1或l2为空,直接返回另一个即可 注2:添加一个空节点,代码更加简洁方便 /** * Definition for singly-linked list. * struct...

Iridescence 229

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

[LeetCode 21]Merge Two Sorted Lists 合并两个有序链表

[leetcode 21 ] Merge Two Sorted Lists c语言实现

banana1006034246的博客 1173

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

leetcode 21.合并两个有序链表(merge two sorted lists)C语言

leetcode 21.合并两个有序链表(merge two sorted lists)C语言1.description2.solution 1.description https://leetcode-cn.com/problems/merge-two-sorted-lists/description/ 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2-&g

hsk6543210的博客 432

LeetCode 21. 合并两个有序链表 Merge Two Sorted Lists

Table of Contents 一、中文版 二、英文版 三、My answer 四、解题报告 一、中文版 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 二、英文版 Merge two ...

三妹的博客 431

LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)

错误点说明忘记处理 list1 或 list2 为空递归终止条件必须明确返回值写错必须返回当前较小节点忘记链表节点next指向递归结果合并后需要正确接上剩余部分本题考察的是链表合并技巧,是刷链表题目的基础必刷题。递归法写法简洁优雅,利于展示思路清晰。需要注意如果链表非常长,递归层数过多可能导致栈溢出,此时可以选择迭代法(循环解)(空间复杂度 O(1))。

2501_91641025的博客 580

LeetCode 21:Merge Two Sorted Lists 合并两个有序链表

题目描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/merge-two-sorted-lists 思路...

it-hao的博客 227

LeetCode 21:合并两个有序链表 Merge Two Sorted Lists

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 示例: 输入:1-&g...

爱写Bug 184

21、合并两个有序链表(Merge Two Sorted Lists)

21、合并两个有序链表(Merge Two Sorted Lists) 题目: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: **输入:**1->2->4, 1->3->4 **输出:**1->1->2->3->4->4 解答: class Program { static void Main(string[] args) { } public ListNode

南极没有熊的博客 234

LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)

21. 合并两个有序链表 21. Merge Two Sorted Lists 题目描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 LeetCode21. Merge Two Sorted Lists 示例: 输入: 1->2->4, 1->3->4 输出: 1->1->2->3->4->4 ...

weixin_30896763的博客 125

C#LeetCode刷题之#21-合并两个有序链表(Merge Two Sorted Lists)

问题 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 输入:1-&gt;2-&gt;4, 1-&gt;3-&gt;4 输出:1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4 Merge two sorted linked lists and return it as a new list. The new list shou...

比特飞 1万+

LeetCode 21. Merge Two Sorted Lists 合并两个有序链表

1. problem description Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个...

地山谦的博客 176
上一篇: 28. Find the Index of the First Occurrence in a String(找出字符串中第一个匹配项的下标)
下一篇: 112. Path Sum(路径总和)
apprentice_eye
博客等级 码龄6年 1165粉丝 348原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值