(leetcode学习)21. 合并两个有序链表

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

示例 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
  • l1l2 均按 非递减顺序 排列
cpp 复制代码
    ListNode* mergeTwoLists(ListNode* list1, ListNode* list2) {
        if(list1 == NULL) return list2;
        if(list2 == NULL) return list1;
        ListNode* res = new ListNode();
        ListNode* cur = res;
        while(list1 != NULL && list2 != NULL){
            if(list1->val < list2->val){
                cur->next = list1;
                cur = cur->next;
                list1 = list1->next;
            }
            else{
                cur->next = list2;
                cur = cur->next;
                list2 = list2->next;
            }
        }
        if(list1 == NULL) cur->next = list2;
        if(list2 == NULL) cur->next = list1;
        return res->next;
    }
相关推荐
Han.miracle1 小时前
数据结构——二叉树的从前序与中序遍历序列构造二叉树
java·数据结构·学习·算法·leetcode
北冥湖畔的燕雀2 小时前
C++泛型编程(函数模板以及类模板)
开发语言·c++
知识分享小能手2 小时前
uni-app 入门学习教程,从入门到精通,uni-app基础扩展 —— 详细知识点与案例(3)
vue.js·学习·ui·微信小程序·小程序·uni-app·编程
mit6.8243 小时前
前后缀分解
算法
●VON3 小时前
重生之我在大学自学鸿蒙开发第九天-《分布式流转》
学习·华为·云原生·harmonyos·鸿蒙
独自破碎E3 小时前
判断链表是否为回文
数据结构·链表
你好,我叫C小白3 小时前
C语言 循环结构(1)
c语言·开发语言·算法·while·do...while
无妄无望3 小时前
docker学习(4)容器的生命周期与资源控制
java·学习·docker
Larry_Yanan6 小时前
QML学习笔记(四十二)QML的MessageDialog
c++·笔记·qt·学习·ui
寂静山林6 小时前
UVa 10228 A Star not a Tree?
算法