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

Leetcode刷题21.合并两个有序链表

时间:2023-09-23 19:12:35浏览次数:34  
标签:ListNode 21 next 链表 l2 l1 null Leetcode

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

 

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

解:本题也可以采用双指针的解题思路。

代码如下:

 public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        if (l1 == null) return l2;
        if (l2 == null) return l1;
        ListNode resultNode = new ListNode();
        ListNode p = resultNode;
        while (l1 != null && l2 != null) {
            if (l1.val < l2.val) {
                p.next = l1;
                l1 = l1.next;
            } else {
                p.next = l2;
                l2 = l2.next;
            }
            p = p.next;
        }
            if (l1 != null)
                p.next = l1;
            if (l2 != null)
                p.next = l2;

            return resultNode.next;
        }

 

标签:ListNode,21,next,链表,l2,l1,null,Leetcode
From: https://www.cnblogs.com/buguniaogugu/p/17724920.html

相关文章

  • 20211325 2023-2024-1 《信息安全系统设计与实现(上)》第三周学习笔记
     202113252023-2024-1《信息安全系统设计与实现(上)》第三周学习笔记一、任务要求自学教材第10章,提交学习笔记(10分)大家学习过Python,C,Java等语言,总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈现出来的?,评分标准如下1.知识点......
  • 每日总结9.21
    今天的一天非常充实,我经历了各种不同类型的课程和活动,既有理论性的学习,也有体育锻炼,以下是我一天的总结:上午的第一节课是统一建模语言。在这门课上,我们学习了如何使用统一建模语言来描述和分析软件系统的结构和行为。这对于软件工程领域的学习和职业发展非常重要。我学到了如何绘......
  • 算法训练day8 LeetCode 344
    算法训练day8:LeetCode344.541.151.剑指offer05.58.344.反转字符串题目344.反转字符串-力扣(LeetCode)题解代码随想录(programmercarl.com)classSolution{public:voidreverseString(vector<char>&s){for(inti=0,j=s.size()-1;i......
  • 随想录Day4|24. 两两交换链表中的节点、19. 删除链表的倒数第N个节点、面试题 02.07.
    随想录Day4|24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07.链表相交、142.环形链表Ⅱ 24.两两交换链表中的节点文章讲解视频讲解给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,......
  • 【算法】链表
    1链表理论基础链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。链表的入口节点称为链表的头结点也就是head。链表中的节点在内存中不是连续分布的,而是散乱分布在内......
  • 【2023潇湘夜雨】WIN11_Pro_22H2.22621.2359软件选装纯净版9.22
    【系统简介】=============================================================1.本次更新母盘来自WIN11_Pro_23H2.22621.2359。2.增加部分优化方案,手工精简部分较多。3.OS版本号为22621.2359。精简系统只是为部分用户安装,个别要求高的去MSDN下。4.集成《DrvCeo-2.13.0.8》网卡版、......
  • CentOS7 关于Linux Polkit本地权限提升漏洞(CVE-2021-4034)的在线和离线的两种修复方式
    CentOS7关于LinuxPolkit本地权限提升漏洞(CVE-2021-4034)的在线和离线的两种修复方式https://blog.csdn.net/liangtongning/article/details/122805070在线修复yumcleanall&&yummakecacheyumupdatepolkit-y[root@Fort~]#yumcleanall已加载插件:fastestmirror......
  • 自我介绍102101631
    自我介绍我叫陈康杰,学号是102101631我来自fzu我平常喜欢看一些历史文我最喜欢的歌手是周杰伦我最喜欢的歌曲是《一路向北》食堂里我最喜欢的是烤盘饭(虽然每次吃饱都花了很多的币)......
  • 【POJ 1521】Entropy 题解(贪心算法+优先队列+哈夫曼树)
    熵编码器是一种数据编码方法,通过对删除了“浪费”或“额外”信息的消息进行编码来实现无损数据压缩。换句话说,熵编码去除了最初不需要的信息,以准确编码消息。高度的熵意味着一条消息包含大量浪费的信息;以ASCII编码的英文文本是具有极高熵的消息类型的示例。已经压缩的消息,如JPEG图......
  • 数据结构之 - 链表数据结构详解: 从基础到实现
    链表(LinkedList)是计算机科学中常用的数据结构之一,它具有灵活的内存分配和高效的插入、删除操作。本文将深入介绍链表的特性、基本类型、操作以及在实际应用中的使用场景。1.什么是链表?链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的引用(或指针)。与数......