首页 > 其他分享 >21. 合并两个有序链表

21. 合并两个有序链表

时间:2023-10-30 10:01:27浏览次数:34  
标签:ListNode 21 示例 list1 链表 有序 Optional 节点

目录

题目

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

示例 1:

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

示例 2:

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

示例 3:

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

代码

class Solution:
    def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:
        # 创建一个新的头节点
        new_head = ListNode(0)
        tail = new_head#尾指针

        # 依次比较两个链表的节点,并将较小的节点插入到新链表的尾部
        while list1 !=None and list2!=None:
            if list1.val <= list2.val:
                tail.next = list1#放在新的链表后面
                list1 = list1.next#往后移继续判断
            else:
                tail.next = list2#放在新的链表后面
                list2 = list2.next#往后移继续判断
            tail = tail.next
        # 将剩余的节点直接连接到新链表的尾部
        if list1:#如果list1还没遍历完
            tail.next = list1#直接加在后面
        elif list2:#如果list2还没遍历完
            tail.next = list2#直接加在后面

        return new_head.next

标签:ListNode,21,示例,list1,链表,有序,Optional,节点
From: https://www.cnblogs.com/lushuang55/p/17796287.html

相关文章

  • LCD液晶防干扰段码显示屏驱动芯片VK1C21A/B/C/D/DA/E/EA具备显示效果好,静电耐压高等优
    产品型号:VK1C21A/B产品品牌:永嘉微电/VINKA封装形式:SSOP48/LQFP48可定制裸片:DICE(COB邦定片);COG(邦定玻璃用)产品年份:新年份原厂,工程服务,技术支持! 概述:VK1C21A/B是一个点阵式存储映射的LCD驱动器,可支持最大128点(32SEGx4COM)的LCD屏,也支持2COM和3COM的LCD屏。单片机可通过......
  • 面试必刷TOP101:16、删除有序链表中重复的元素-II
    一、题目二、题解importjava.util.*;publicclassSolution{publicListNodedeleteDuplicates(ListNodehead){//空链表if(head==null)returnnull;ListNoderes=newListNode(0);//在链表前加一个表头......
  • 2023-2024-1 20211211 第四章读书笔记
    第四章读书笔记一、知识点归纳(思维导图)二、收获总结并行线程的主要挑战有:线程同步、死锁、资源竞争、上下文切换开销等问题。线程级别的并行是指在多核处理器上同时执行多个线程,每个线程独立执行不同的任务。指令级别的并行是指在单个核心的处理器上同时执行多条指令。并发......
  • 2023-2024-1 20231421 《计算机基础与程序设计》第五周学习总结
    ------------恢复内容开始------------------------恢复内容开始------------作业信息作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05作业目标:自学《计算机科学概论》第六章、《c语言程序设计》第四章作业正文:教材学习内容总结一、《计算机科学概论》第六......
  • 21世纪来最大发现!近代科学重大突破!不是封建迷信!
    一个人,他死后,真的会还魂吗?—————vSINGER_落添Ⅰ.答案是是的。近日,随着SCP的考核,全国各地死亡率也大幅上升,大部分聚集在HE省。就在一周前,一名名叫HS_xh的小哥的尸体在某市学校机房内被发现。死者死前精神亢奋,看似生前最后非常激动,随着法医的深入调查,通过最新科学技术【数据......
  • 2023-2024-1 20211327 信息安全系统设计与实现 学习笔记7
    学习笔记7顺序算法与并行算法线程的原理与优缺点线程管理函数线程同步实践过程顺序算法与并行算法顺序算法(SequentialAlgorithm)原理:顺序算法是一种线性执行的算法,它按照顺序一步一步地解决问题。这意味着每个操作都依赖于前一个操作的结果,只有在前一个操作完成之后才......
  • 19. 删除链表的倒数第 N 个结点(中)
    目录题目法一、循环法二、快慢指针题目给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例1:输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]示例2:输入:head=[1],n=1输出:[]示例3:输入:head=[1,2],n=1输出:[1]法一、循环classSolution:......
  • RC2104-WS_EX_COMPOSITED-WS_EX_NOINHERITLAYOUT
    VS编译出现RC2104,或者打开资源出现错误提示未定义#include"afxres.h"....2TEXTINCLUDEBEGIN"#include""afxres.h""\r\n""\0"END修改为#include<windows.h>#include"afxres.h"...2TEXTINCLUDE......
  • 20211316郭佳昊 《信息安全系统设计与实现(上)》 第八周学习总结
    一、任务要求[1]知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题核心是要求GPT:请你以苏格拉底的方式对我进行提问然后GPT就会......
  • #链表#CF706E Working routine
    题目给出一个\(n*m\)的矩阵,每次交换两个等大的矩阵,输出\(q\)次操作后的矩阵分析维护向右和向下的指针,考虑最后输出只需要从每行的头指针向右跳,那么修改实际上是将矩阵左边一列、上面一行、最后一行和最后一列向右下指针交换时间复杂度\(O((n+m)Q)\)代码#include<cs......