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;
    }
};
相关推荐
曙曙学编程6 分钟前
stm32——GPIO
c语言·c++·stm32·单片机·嵌入式硬件
△曉風殘月〆26 分钟前
Visual Studio中的常用调试功能(下)
c++·ide·visual studio·调试
武当豆豆34 分钟前
C++编程学习(第25天)
开发语言·c++·学习
Tisfy2 小时前
LeetCode 837.新 21 点:动态规划+滑动窗口
数学·算法·leetcode·动态规划·dp·滑动窗口·概率
minji...4 小时前
C++ string类(STL简介 , string类 , 访问修改字符)
开发语言·c++
Forward♞4 小时前
Qt——文件操作
开发语言·c++·qt
十五年专注C++开发5 小时前
CMake进阶: CMake Modules---简化CMake配置的利器
linux·c++·windows·cmake·自动化构建
tkevinjd5 小时前
图论\dp 两题
leetcode·动态规划·图论
winds~6 小时前
【git】 撤销revert一次commit中的某几个文件
linux·c++
carver w6 小时前
MFC,C++,海康SDK,回调,轮询
开发语言·c++·mfc