Leetcode简单:21. 合并两个有序链表

将两个升序链表合并为一个新的 升序 链表并返回 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->3->5, 2->4->6 输出:1->2->3->4->5->6 #include <stdio.h> #include <string.h> #include <assert.h> typedef struct Node { int data;//数据域,用来存放数据域;... 阅读详情

题目:合并两个有序链表

  • 题号:20
  • 难度:简单
  • https://leetcode-cn.com/problems/merge-two-sorted-lists/

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

示例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 均按 非递减顺序 排列

实现

C# 实现

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     public int val;
 *     public ListNode next;
 *     public ListNode(int val=0, ListNode next=null) {
 *         this.val = val;
 *         this.next = next;
 *     }
 * }
 */
 
public class Solution 
{
    public ListNode MergeTwoLists(ListNode list1, ListNode list2) 
    {
        ListNode pHead = new ListNode(int.MaxValue);
        ListNode temp = pHead;

        while (list1 != null && list2 != null)
        {
            if (list1.val < list2.val)
            {
                temp.next = list1;
                list1 = list1.next;
            }
            else
            {
                temp.next = list2;
                list2 = list2.next;
            }
            temp = temp.next;
        }

        if (list1 != null)
            temp.next = list1;

        if (list2 != null)
            temp.next = list2;

        return pHead.next;
    }
}

Python 实现

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next

class Solution(object):
    def mergeTwoLists(self, list1, list2):
        """
        :type list1: Optional[ListNode]
        :type list2: Optional[ListNode]
        :rtype: Optional[ListNode]
        """
        pHead = ListNode(None)
        temp = pHead
        while(list1 is not None and list2 is not None):
            if (list1.val <= list2.val):
                temp.next = list1                
                list1 = list1.next
            else :
                temp.next = list2
                list2 = list2.next
            temp = temp.next
             
        if list1 is not None:
            temp.next = list1 
        else :
            temp.next = list2
            
        return pHead.next 
将两个升序链表合并为一个新的升序链表并返回(BAT面试题) 一,题目及示例 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 二,解决思路 1,定义一个傀儡节点作为头节点,再弄一个为节点,使用尾插 2,循环插入链表l1,l2中的较小元素,一直循环插到一个链表为空, 3.... 阅读详情

相关推荐

两个有序表的合并(三种方法)

设有两个递增排列的有序表,要求合并后仍按递增(非递减)有序排列

AIGC 1万+

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

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

weixin_43741253的博客 2746

VirusTotal API密钥获取与Python实战:从注册到自动化威胁分析

在网络安全和自动化运维领域,API(应用程序编程接口)是实现系统间数据交互与功能集成的核心技术。其工作原理是通过预定义的协议和端点,允许程序化访问特定服务的数据与功能。对于安全工程师和威胁分析师而言,API的价值在于能够将手动、重复的安全操作(如文件扫描、情报查询)转化为自动化工作流,从而极大提升威胁检测与响应的效率。一个典型的应用场景是集成第三方威胁情报平台,以实现对可疑文件、URL或哈希值的批量与实时分析。本文聚焦于全球知名的威胁情报服务VirusTotal,详细解析其API密钥的注册流程、安全配置要点

weixin_28707739的博客 420

【LeetCode】21. 合并两个有序链表

题目链接:https://leetcode-cn.com/problems/merge-two-sorted-lists/ 难度:简单 题目描述 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 测试用例 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3: 输入:l1 = [], l2 = [0] 输出:..

一定要站在自己热爱的生活里闪闪发光 2万+

大数据架构中的数据血缘追踪技术解析

数据血缘(Data Lineage)是指数据从源头到目标的完整流转路径,它记录了数据在整个生命周期中的变化过程。在大数据架构中,数据血缘追踪技术已经成为数据治理的核心组成部分。本文旨在全面解析数据血缘追踪的技术原理、实现方法和应用实践,帮助读者深入理解这一关键技术。本文将从基础概念入手,逐步深入到技术实现细节,最后探讨实际应用和未来趋势。数据血缘的核心概念和技术原理数据血缘的数学模型和算法实现实际项目案例和代码解析主流工具和解决方案比较未来发展方向和技术挑战。

架构师的AI之路,分享AI应用开发架构的学习与实践。 688

Trae编程工具Cline插件深度集成与Claude 3.7 API Key高级配置实战

本文详细介绍了如何在Trae编程工具中深度集成Cline插件并配置Claude 3.7 API Key的高级技巧。通过实战案例,展示了如何提升代码补全质量、实现多轮对话记忆及自定义代理设置,特别适合全栈工程师和需要私有化AI服务的团队。文章还涵盖了安装流程、API Key获取方式及企业级部署的最佳实践。

weixin_28829903的博客 436

Leetcode算法题【简单】21.合并两个有序链表

具体步骤请查看每个关键步骤的代码注释。

qq_40800519的博客 306

我写了一个自动识别火车车厢位置的算法【lidar点云识别】

我写了一个自动识别火车车厢位置的算法【lidar点云识别】

qq_43212290的博客 797

力扣 [21] [简单] [合并两个有序链表]

21. 合并两个有序链表 难度简单1796收藏分享切换为英文接收动态反馈 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 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] -1...

CAO294227873的博客 210

华为OD机试真题 新系统【Skill执行链完整性检测】

华为OD机试 新系统真题【Skill执行链完整性检测】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【Skill执行链完整性检测】

qq_45776114的博客 763

AES加密算法及AES-CMAC原理白话版系统解析

对AES不同加密算法,加密模式,加密原理,填充算法及AES-CMAC算法的详细系统介绍,帮助大家对AES进行系统掌握。

initiallizer的博客 4068

leetcode-21 | 合并两个有序链表 简单难度

title: leetcode-21 | 合并两个有序链表 简单难度 date: 2019-5-8 10:03:20 tags: - leetcode 简单难度 - 链表 题目描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:1->2->4, 1->3->4 输出:1->1->2->3-...

梦否 427

Unreal5 从入门到精通之 如何实现 离线语音识别

本文介绍了如何使用离线语音识别插件 Offline Speech Recognition 进行本地语音转文本处理。该插件支持离线运行,用户可以通过下载并运行语言服务器(如 Vosk)来处理语音数据。文章详细说明了如何设置语言服务器、下载语言模型,并在虚幻引擎(UE)项目中配置麦克风和语音捕获。此外,还介绍了如何将 SoundWave 作为输入,以及如何通过节点将语音数据发送到语言服务器进行处理。最后,提供了相关文档链接以供进一步参考。

TxNet 904

【Leetcode】——JavaScript——简单——21. 合并两个有序链表

题目要求 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。  示例: 输入:1-&gt;2-&gt;4, 1-&gt;3-&gt;4 输出:1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4 解题思路一(推荐) 这题用了递归的思路,一共六行,很是精简,非常值得学习。 首先判断是否有一个链表为空,有,则返回不为空的链表。 若都不...

LimonSea的博客 470

基于Simulink的无线充电系统LCC补偿网络建模与控制

本文详细介绍了基于Simulink的无线充电系统LCC补偿网络建模与控制方法。首先分析了无线充电系统面临的核心挑战,提出LCC补偿网络解决方案,阐述了其恒流输出和输入阻抗解耦原理。通过Simulink分步演示了系统建模过程,包括松耦合变压器、LCC+LC补偿网络、功率变换级搭建以及频率跟踪控制实现。仿真结果表明,LCC补偿系统在气隙变化和负载跳变下能保持输出电压稳定(波动±3%),效率达89%。文章还总结了工程实现要点,并探讨了动态充电、多负载系统等扩展应用。该教程为开发高效智能的无线充电系统提供了实用指导

amy_mhd的博客 62

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

21.leetcode 合并两个有序链表(简单)

leetcode python 刷题记录,从易到难 一、题目 二、解答 1.思路 定义一个空链表,定义另一个空链表等于前面的空链表。循环遍历两个链表,挨个判断两个节点之间的大小,如果是小的,放到空链表后,小的那个节点指针后移,同时空链表指针后移,直到有一个节点为空时退出循环。之后把另一个链表尚未遍历完的部分添加到空链表后面,至此拼接完成。 2.实现 class Solution(object): def mergeTwoLists(self, l1, l2): """

终回首的博客 236

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

LeetCode-21、合并两个有序链表-简单

LeetCode-21、合并两个有序链表-简单 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 代码: # Definition for singly-linked list. # clas...

clover_my的博客 84

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

SAP B1中文培訓教材_SDK

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

LeetCode_21_简单_合并两个有序链表

LeetCode_21:合并两个有序链表(简单)

Linshaodan520的博客 1577

【LeetCode】21.合并两个有序链表(简单)

被 OJ 毒打的第七天,您的好友指针上线!

hxw3274743的博客 286

【LeetCode 简单题21】7-合并两个有序链表

声明 1、红色 添加要改颜色的字体 指令是 添加要改颜色的字体 2、蓝色 添加要改颜色的字体 指令为 添加要改颜色的字体 3、绿色 添加要改颜色的字体 指令为 添加要改颜色的字体 4、粉色 添加要改颜色的字体 指令为 添加要改颜色的字体 题目 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1...

时间停止的那刻 278

Leetcode—21.合并两个有序链表【简单】

运行结果 之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

Atticus的博客 428

力扣简单-链表3-21. 合并两个有序链表

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 1: class Solution: def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode: if l1 is None: return l2 el...

具身机器人和通用AI 3305

leetcode 21. 合并两个有序链表 简单

题目 题目比较简单,思路跟归并排序的合并相似,不过这里是链表,归并排序合并的是数组 上代码 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ c...

weixin_40208575的博客 88

【力扣】难度【简单】21. 合并两个有序链表

标题:21. 合并两个有序链表 难度:简单 描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的 输入: 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 <= 10

丶鹏 155

LeetCode -21.合并两个有序链表 -简单

一、题目描述 二、解法分析 一开始想到有直接解法和递归解法,但对于递归不太熟练,优先选用了直接解法。递归的方法在后面参考了别人的代码。 定义一个新的链表(比如命名为resul),用于储存合并后的结果。具体的操作是,l1和l2的值相互比较,把比较小的值放进新的链表result。(这里可以想象为result在两个链表之间穿针引线。) 需要注意的是,Java中并没有指针的存在,所以我在定义的时候,声明了两个类型为ListNode的引用,其中一个起到了类似指针的作用。 三、自写代码 /** * Definiti

weixin_42374413的博客 187

【链表】Leetcode 21. 合并两个有序链表【简单】

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]

FLGB 569
上一篇: Leetcode简单:20. 有效的括号
下一篇: Leetcode简单:26. 删除排序数组中的重复项
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青少年编程小助手_Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值