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;
    }
};
相关推荐
AI+程序员在路上10 分钟前
matIo库及.mat数据格式介绍
c语言·开发语言·c++
栗克15 分钟前
halcon 连接相机
c++·笔记·halcon·相机
无聊的小坏坏18 分钟前
【C++】unordered_map、unordered_set 的使用
c++·stl
ephemerals__23 分钟前
【c++11】智能指针 -- 摆脱内存困扰,现代编程的智能选择
开发语言·c++
卡戎-caryon1 小时前
【MySQL】06.内置函数
linux·数据库·c++·mysql
发如雪-ty1 小时前
c++总结-04-智能指针
开发语言·c++
byte轻骑兵1 小时前
【Bluedroid】蓝牙Hid Host get_protocol全流程源码解析
c++·hid·bluedroid
Ronin3051 小时前
【C++】21. 红黑树的实现
开发语言·c++
HANGZhoU_0011 小时前
西门子 S1500 博途软件舞台威亚 3D 控制方案
c++·3d·c#·3d威亚·舞台设备·西门子s1500·西门子博途
CodeWithMe1 小时前
【C/C++】从零开始掌握Kafka
c语言·c++·kafka