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

leetcode 21.合并两个有序链表

时间:2024-01-17 11:02:21浏览次数:22  
标签:ListNode 21 list1 leetcode 链表 节点

leetcode 21.合并两个有序链表

第二十一题:合并两个有序链表

1.迭代:

当 l1 和 l2 都不是空链表时,判断 l1 和 l2 哪一个链表的头节点的值更小,将较小值的节点添加到结果里,当一个节点被添加到结果里之后,将对应链表中的节点向后移一位。

public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        ListNode head = new ListNode(-1);
        ListNode result = head;
        while (list1 !=null && list2!=null){
            if (list1.val <= list2.val){
                result.next = list1;
                list1 = list1.next;
            }
            else {
                result.next = list2;
                list2 = list2.next;
            }
            result = result.next;
        }
        result.next = list1 == null? list2:list1;
        return head.next;
    }

标签:ListNode,21,list1,leetcode,链表,节点
From: https://www.cnblogs.com/ldy20020324/p/17969447

相关文章

  • P2216 [HAOI2007] 理想的正方形 题解
    题目链接:理想的正方形比较明显的,我们可以用二维ST表解决,具体的二维ST表的实现,只需要知道一点:对于\(st[i][j][t]=max(i\simi+2^t,j\simj+2^t)\),表示的是如图所示的大正方形范围内的最值,它可以拆成从四个小正方形的左端点走\(2^{t-1}\)长的小正方形组成,预处理完直接查......
  • 成为一个合格程序员所必备的三种常见LeetCode排序算法
    排序算法是一种通过特定的算法因式将一组或多组数据按照既定模式进行重新排序的方法。通过排序,我们可以得到一个新的序列,该序列遵循一定的规则并展现出一定的规律。经过排序处理后的数据可以更方便地进行筛选和计算,从而大大提高了计算效率。因此,掌握排序算法是每个程序员的基本功......
  • 遍历链表,将节点接到末端 【1月16日学习笔记】
    点击查看代码//遍历链表,将节点接到末端#include<iostream>usingnamespacestd;structnode{ intdata;//数据 node*next;//尾巴};//定义节点结构体node*A;//头指针固定,globalvariabl......
  • 已知IP地址是192.168.5.121,子网掩码是255.255.255.248,求网络地址和主机地址
    方法1首先,将Ip地址转换为二进制:192.168.5.121转换为二进制:11000000.10101000.00000101.01111001然后将子网掩码转换成二进制:255.255.255.248转换为二进制:11111111.11111111.11111111.11111000网络地址=IP地址&子网掩码192.168.5.121&255.255.255.248=192.168.5.12......
  • 代码随想录 day21 二叉搜索树的最小绝对差 二叉搜索树中的众数 二叉树的最近公共祖先
    二叉搜索树的最小绝对差二叉搜索树就是有序数组那么转换一下就很简单了也可以直接在遍历二叉搜索树的时候进行比较需要一个指针记录前一个节点二叉搜索树中的众数既可以把这题的二叉搜索树当成一般树来做这样就是层序遍历树然后用map记录频率再取频率最高的值这里用......
  • leetcode 20.有效的括号
    leetcode20.有效的括号第二十题:有效的括号1.栈:判断括号的有效性可以使用「栈」这一数据结构来解决。我们遍历给定的字符串s。当我们遇到一个左括号时,我们会期望在后续的遍历中,有一个相同类型的右括号将其闭合。由于后遇到的左括号要先闭合,因此我们可以将这个左括号放入栈顶......
  • 2020-2021 ACM-ICPC Latin American Regional Programming Contest J. Job Allocator
    Preface今天因为下午被强行拉回老家了,而且没带电脑回去然后就变成了徐神和祁神两个人写,我拿个手机在后面口胡了3h最后变成了在缺我一个人的前提下还能4h过10题的情况,感觉就算我在的话最多就是快点过H然后把剩下的时间拿去写个J这场因为没啥参与就不写整场的博客了,把赛后写的这......
  • 大二打卡(12.21)
    uml作业:实现视图建模:(1)分析系统用例流程中对象间的交互“校园卡管理系统”包括“充值消费子系统”、“身份识别门禁子系统”、“校方卡片授权信息管理子系统”等。[用例流程描述]充值消费子系统:用户通过界面输入个人信息和充值金额,提交充值申请。系统验证用户身份和账户信息......
  • LY1087 [ 20230217 CQYC模拟赛VIII T2 ] 记忆
    我们来看这样一道题:请你维护一个序列\(a\)。1k将所有\(a_i\)变成\(|a_i-k|\)。2lr求\(\sum_{i=l}^{r}a_i\)。\(n,q\le10^5\)。首先我们不难写出一个\(naive\)的代码。#include<iostream>#include<algorithm>#include<cstdio>#include<arra......
  • CF1921F Sum of Progression
    题目链接:CF一道经典的类型题,把这种类型的题拿出来单独说一下。注意到问题中涉及到需要维护\(a_{x+k\timesstep}\)这样的信息,这样的信息很难用树型结构维护,比较容易用块级结构维护,我们注意到其实是每次这种步长\(+step\)的信息很难维护,我们考虑一类特殊的分块:如果\(step\)......