自学内容网 自学内容网

[力扣 Hot100]Day34 合并 K 个升序链表

题目描述

给你一个链表数组,每个链表都已经按升序排列。

请你将所有链表合并到一个升序链表中,返回合并后的链表。

出处

思路

如果是考研题,可以用败者树,但代码太难写了,我选择直接比。

代码

class Solution {
public:
    ListNode* mergeKLists(vector<ListNode*>& lists) {
        int n=lists.size();
        int min=0,idx=0;
        ListNode *head = new ListNode;
        ListNode *rear = head;
        while(min<10001){
            min=10001;
            for(int i=0; i<n;i++){
                if(lists[i]&&lists[i]->val<min){
                    min=lists[i]->val;
                    idx=i;
                }
            }
            if(min<10001){
                rear->next=lists[idx];
                rear=rear->next;
                lists[idx]=lists[idx]->next;
            }
        }
        return head->next;
    }
};

原文地址:https://blog.csdn.net/qq_53627591/article/details/136247692

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!