zoukankan      html  css  js  c++  java
  • [LeetCode] Merge k Sorted Lists

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.

    #include<iostream>
    #include<vector>
    using namespace std;
    
    struct ListNode {
        int val;
        ListNode *next;
        ListNode(int x) : val(x), next(NULL) {}
    };
    
    class Solution {
    public:
        ListNode *mergeKLists(vector<ListNode *> &lists) {
            int lSize= lists.size();
            if(lSize == 0)
                return NULL;
            else if(lSize == 1)
                return lists[0];
            for(int i=1;i<lSize;i++)
            {
                lists[0] = Merge(lists[0],lists[i]);
    
            }
            return lists[0];
        }
    private:
        ListNode* Merge(ListNode *list1,ListNode *list2)
        {
            ListNode *head = new ListNode(0);
            ListNode *p = head;
            ListNode *l1 = list1,*l2 = list2;
            while(l1!=NULL && l2 !=NULL)
            {
                if(l1->val < l2->val)
                {
                    p->next = l1;
                    l1 = l1->next;
                    p = p->next;
                }
                else
                {
                    p->next = l2;
                    l2 = l2->next;
                    p = p->next;
                }
            }
            while(l1 != NULL)
            {
                p->next = l1;
                l1 = l1->next;
                p = p->next;
            }
            while(l2 != NULL)
            {
                p->next = l2;
                l2 = l2->next;
                p = p->next;
            }
            p->next = NULL;
            return head->next;
        }
    };

    思路:第0个List和第1个Merge,将结果写入第0个,然后第0个和第2个Merge,将结果写入第0个,依次进行。

    每次两两Merge都将结果写入第0个这样做避免了用额外的空间。

  • 相关阅读:
    json返回数据拼接HTML
    jquery文本框验证字符长度和只能输入数字
    DataTable转换为Json格式
    将集合类转换成DataTable
    class创建单击事件
    ajax局部刷新分页
    查找根字符串
    游标的使用——mysql
    .NET 各种框架
    xml与datatable类型互换
  • 原文地址:https://www.cnblogs.com/Xylophone/p/3848342.html
Copyright © 2011-2022 走看看