美文网首页
23. 合并K个排序链表

23. 合并K个排序链表

作者: 侯俊同学 | 来源:发表于2019-08-19 16:01 被阅读0次

首先实现一个归并函数merge(),然后将lists中的链表两两合并。如果lists中的链表数量为偶数n,那么合并后数量为n/2,否则为n/2+1。当合并成一个链表的时候,退出循环并返回该链表。全程lists数组被复用。

class Solution {
public:
    ListNode* mergeKLists(vector<ListNode*>& lists) {
        if(lists.size()==0) return NULL;
        int n = lists.size();
        while(n>1){
            for(int i = 0;i<n/2;i++){
                lists[i] = merge(lists[2*i],lists[2*i+1]); 
            }
            if(n%2==1) {
                lists[n/2]=lists[n-1];
                n = n/2+1;
            }else
                n = n/2;
        }
        return lists[0];
    }
    
    
    ListNode * merge(ListNode *left,ListNode *right){
        ListNode * res = new ListNode(-1);
        ListNode *p = res;
        while(left&&right){
            if(left->val<=right->val){
                p->next=left;
                left=left->next;
            }else{
                p->next = right;
                right = right->next;
            }
            p = p->next;
        }
        if(left) p->next = left;
        if(right) p->next = right;
        return res->next;
    }
};

相关文章

  • LeetCode 专题 :分治算法

    LeetCode 第 23 题:归并多个有序链表 传送门:23. 合并K个排序链表。 合并 k 个排序链表,返回合...

  • 23. 合并K个排序链表

    23.合并K个排序链表 合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入:[ 1-...

  • 【LeetCode】23.合并K个排序链表

    题目描述 23.合并K个排序链表 合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 题目解析 方...

  • leecode刷题(27)-- 合并k个排序链表

    leecode刷题(27)-- 合并k个排序链表 合并k个排序链表 合并 k 个排序链表,返回合并后的排序链表。请...

  • 23. 合并K个排序链表

    23. 合并K个排序链表 题目链接:https://leetcode-cn.com/problems/merge-...

  • TOP HOT 100 题

    23. 合并多个排序链表:https://leetcode-cn.com/problems/merge-k-sor...

  • ARTS第五周2020620

    Algorithm 合并K个排序链表 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例...

  • 合并K个排序链表【LeetCode:23】

    题目: 合并K个排序链表 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: ...

  • Swift - LeetCode - 合并K个排序链表

    题目 合并K个排序链表 问题: 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 解题思路:...

  • LeetCode:合并K个排序链表

    合并K个排序链表(困难) 题目叙述: 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例...

网友评论

      本文标题:23. 合并K个排序链表

      本文链接:https://www.haomeiwen.com/subject/gufesctx.html