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;
    }
};
相关推荐
NiceCloud喜云6 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
cjhbachelor6 小时前
c++继承
c++
肩上风骋7 小时前
C++14特性
开发语言·c++·c++14特性
QiLinkOS10 小时前
【从实验室到商业战场:发明专利如何重塑科技与企业的共生生态】
大数据·c语言·数据结构·c++·人工智能·单片机·算法
Irissgwe10 小时前
c++11(lambda表达式与包装器、线程库)
c++·c++11·lambda表达式·线程库·包装器·互斥量库·条件变量库
Peter·Pan爱编程11 小时前
14. Lambda 表达式:随手可写的函数对象
c++·算法·ai编程
不想写代码的星星12 小时前
从分支预测角度看 C++:为什么你的热循环慢得离谱?
c++
郝学胜-神的一滴12 小时前
Qt 高级开发 018:复刻经典登录界面布局与窗口美化全解析
开发语言·c++·qt·程序人生·用户界面
郝亚军12 小时前
IEEE 754 单精度浮点的SEM表示
开发语言·c++·算法
Yyyyyy~14 小时前
【C++】数组篇
开发语言·c++