【力扣hot100题】(033)合并K个升序链表

想法十分简单粗暴但有效,将首个链表头作为起点,然后依次遍历各个链表,每个链表再将节点依次插入首个链表中。

cpp 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* mergeKLists(vector<ListNode*>& lists) {
        if(lists.size()==0) return nullptr;
        ListNode* result=new ListNode(0,lists[0]);
        for(int i=1;i<lists.size();i++){
            ListNode* l=lists[i];
            ListNode* r=result->next;
            ListNode* pre=result;
            while(l){
                ListNode* ln=l->next;
                bool b=0;
                while(r){
                    if(r->val>=l->val){
                        b=1;
                        pre->next=l;
                        l->next=r;
                        pre=l;
                    }
                    if(b==1) break;
                    pre=r;
                    r=r->next;
                }
                if(b==0){
                    pre->next=l;
                    break;
                }
                l=ln;
            }
        }
        return result->next;
    }
};
相关推荐
机器学习之心8 小时前
小龙虾优化算法(COA)驱动的CNN-LSTM多输出回归模型及其SHAP可解释性分析
算法·cnn·lstm·小龙虾优化算法·cnn-lstm多输出回归·shap可解释性分析
阿正的梦工坊8 小时前
【Rust】13-Trait 系统、动态分发与对象安全
算法·安全·rust
言存8 小时前
力扣热题283 移动零
数据结构·算法·leetcode
字节高级特工8 小时前
智能指针原理与使用场景全解析
开发语言·c++·算法
珊瑚里的鱼8 小时前
【动态规划】买卖股票的最佳时机Ⅲ
算法·动态规划
逻辑星辰8 小时前
x-ds-pow-response逆向分析
开发语言·人工智能·python·深度学习·算法
CQU_JIAKE8 小时前
6.9【aAAA]
算法
Lewiis8 小时前
白话桶排序
数据结构·算法·golang·排序算法
非生而知之者9 小时前
基于灰狼算法优化的电量预测
python·算法·群体智能算法·电力预测
ywl4708120879 小时前
‌HashMap 1.8 的扩容机制(Resize)‌
算法·哈希算法