LCR 078. 合并 K 个升序链表

LCR 078. 合并 K 个升序链表


题目链接:LCR 078. 合并 K 个升序链表

代码如下:

cpp 复制代码
class Solution {
public:
    ListNode* mergeKLists(vector<ListNode*>& lists) {
        ListNode *ls=nullptr;
        for(int i=0;i<lists.size();i++)
        {
            ls=mergeList(ls,lists[i]);
        }

        return ls;
    }

    ListNode* mergeList(ListNode* a,ListNode* b)
    {
        if(a&&!b)
            return a;
            
        if(!a&&b)
            return b;

        ListNode* head=new ListNode;
        head->next=nullptr;
        ListNode* r=head;

        while(a&&b)
        {
            if(a->val<b->val)
            {
                r->next=a;
                a=a->next;
            }
            else
            {
                r->next=b;
                b=b->next;
            }

            r=r->next;
        }

        if(a)
            r->next=a;
        if(b)
            r->next=b;

        return head->next;
    }
};
相关推荐
AA陈超22 分钟前
虚幻引擎5 GAS开发俯视角RPG游戏 P07-08 点击移动
c++·游戏·ue5·游戏引擎·虚幻
·白小白1 小时前
力扣(LeetCode) ——209. 长度最小的子数组(C++)
c++·算法·leetcode
ohnoooo91 小时前
251106 算法
数据结构·c++·算法
卡提西亚2 小时前
C++笔记-24-文件读写操作
开发语言·c++·笔记
m0_748248022 小时前
C++ 异常处理全解析:从语法到设计哲学
java·c++·word
m0_748248023 小时前
C++20 协程:在 AI 推理引擎中的深度应用
java·c++·人工智能·c++20
QT 小鲜肉3 小时前
【Git、GitHub、Gitee】按功能分类汇总Git常用命令详解(超详细)
c语言·网络·c++·git·qt·gitee·github
派大星爱吃猫4 小时前
C++中的inline函数(内联函数)
c++·inline·内联函数
清风wxy4 小时前
Duilib_CEF桌面软件实战之Duilib编译与第一个界面程序
c++·笔记·ui·mfc
郝学胜-神的一滴4 小时前
Linux下,获取子进程退出值和异常终止信号
linux·服务器·开发语言·c++·程序人生