(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;
    }
相关推荐
Mallow Flowers12 分钟前
Python训练营-Day31-文件的拆分和使用
开发语言·人工智能·python·算法·机器学习
梦境虽美,却不长20 分钟前
数据结构 学习 队列 2025年6月14日 11点22分
数据结构·学习·队列
GalaxyPokemon1 小时前
LeetCode - 704. 二分查找
数据结构·算法·leetcode
leo__5201 小时前
matlab实现非线性Granger因果检验
人工智能·算法·matlab
GG不是gg2 小时前
位运算详解之异或运算的奇妙操作
算法
GISDance2 小时前
2025年高考志愿填报指导资料
学习·考研·高考
呃m2 小时前
双重特征c++
c++
景彡先生2 小时前
C++ 中文件 IO 操作详解
开发语言·c++
weixin_464078073 小时前
Python学习小结
python·学习
无影无踪的青蛙3 小时前
[C++] STL大家族之<map>(字典)容器(附洛谷)
开发语言·c++