码迷,mamicode.com
首页 > 其他好文 > 详细

Merge k Sorted Lists

时间:2014-11-16 18:31:00      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   io   color   ar   os   sp   

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

思路:我的第一个想法是将lists中的链表两两合并排序,这样时间复杂度是o(n),n为所有链表中的数据,结果Time Limit Exceeded了。。。暂时没有想到太好的其他方法,希望有大神能给点思路,我先抛个砖,以下是我未AC的代码:

 

bubuko.com,布布扣
 1 /**
 2  * Definition for singly-linked list.
 3  * struct ListNode {
 4  *     int val;
 5  *     ListNode *next;
 6  *     ListNode(int x) : val(x), next(NULL) {}
 7  * };
 8  */
 9 class Solution {
10 public:
11     ListNode *mergeKLists(vector<ListNode *> &lists) {
12         if(lists.size() == 0)   return NULL;
13         
14         ListNode *pList=lists[0];
15         
16         vector<ListNode *>::iterator it=lists.begin()+1;
17         for(;it!=lists.end();++it)
18         {
19             pList=MergeLists(pList,*it);
20         }
21         
22         //for(int i=1;i<lists.size();i++)
23         //{
24             //pList=MergeLists(pList,lists[i]);
25         //}
26         
27         return pList;
28     }
29     
30     ListNode *MergeLists(ListNode *list1, ListNode *list2)
31     {
32         ListNode *pList=new ListNode(0);
33         ListNode *pHead=pList;
34         
35         while(list1 && list2)
36         {
37             if(list1->val > list2->val)
38             {
39                 pList->next=list2;
40                 list2=list2->next;
41             }
42             else
43             {
44                 pList->next=list1;
45                 list1=list1->next;
46             }
47             pList=pList->next;
48         }
49         
50         if(!list1)
51         {
52             pList->next=list2;
53         }
54         if(!list2)
55         {
56             pList->next=list1;
57         }
58         
59         pList=pHead;
60         pList=pList->next;
61         pHead->next=NULL;
62         delete(pHead);
63         
64         return pList;
65     }
66 };
View Code

 

Merge k Sorted Lists

标签:des   style   blog   http   io   color   ar   os   sp   

原文地址:http://www.cnblogs.com/jarviswhj/p/4101617.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!