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;
    }
};
相关推荐
打不了嗝 ᥬ᭄1 小时前
Linux 信号
linux·开发语言·c++·算法
ZLRRLZ1 小时前
【C++】C++11
开发语言·c++
一匹电信狗1 小时前
【C++】异常详解(万字解读)
服务器·c++·算法·leetcode·小程序·stl·visual studio
草莓熊Lotso2 小时前
《吃透 C++ 类和对象(中):const 成员函数与取地址运算符重载解析》
c语言·开发语言·c++·笔记·其他
weixin_307779132 小时前
VS Code配置MinGW64编译Ipopt库
开发语言·c++·vscode·算法
野生的编程萌新5 小时前
从冒泡到快速排序:探索经典排序算法的奥秘(二)
c语言·开发语言·数据结构·c++·算法·排序算法
weixin_307779135 小时前
VS Code配置MinGW64编译backward库
开发语言·c++·vscode·算法
Crazy_eater5 小时前
C++继承(1)
c++
破刺不会编程7 小时前
socket编程UDP
linux·运维·服务器·网络·c++·网络协议·udp
HalvmånEver11 小时前
在 C++ :x86(32 位)和 x64(64 位)的不同
开发语言·c++·学习