C++ | Leetcode C++题解之第21题合并两个有序链表

题解:

题解:

cpp 复制代码
class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        ListNode* preHead = new ListNode(-1);

        ListNode* prev = preHead;
        while (l1 != nullptr && l2 != nullptr) {
            if (l1->val < l2->val) {
                prev->next = l1;
                l1 = l1->next;
            } else {
                prev->next = l2;
                l2 = l2->next;
            }
            prev = prev->next;
        }

        // 合并后 l1 和 l2 最多只有一个还未被合并完,我们直接将链表末尾指向未合并完的链表即可
        prev->next = l1 == nullptr ? l2 : l1;

        return preHead->next;
    }
};
相关推荐
蒸蒸yyyyzwd1 小时前
秋招学习笔记 Day 64 之准备系统软件开发工程师岗位笔记
c++·八股
奇树谦1 小时前
LRU 缓存原理与 C++ 实践示例
开发语言·c++·缓存
多弗朗皮卡丘2 小时前
C++ 红黑树
开发语言·c++·红黑树
Tisfy2 小时前
LeetCode 3727.最大交替平方和:排序 (双指针可选)
算法·leetcode·题解·贪心·数组·排序
曼巴UE52 小时前
UE 属性同步
网络·c++·ue5
无忧.芙桃3 小时前
图的精髓:邻接矩阵与遍历全解析
c++·算法·面试·深度优先·广度优先
jimy13 小时前
标准的动态类型定义与“多态”无关,非多态对象同样会出现动态类型不同于静态类型的情形
开发语言·c++
Nil2083 小时前
leetcode 1143最长公共子序列
算法·leetcode·职场和发展
MOONICK3 小时前
COM 组件技术(三)
c++·windows
_wxd6663 小时前
二叉搜索树(BST)万字详解:概念、操作、性能分析与 C++ 实现
数据结构·c++·二叉搜索树