首页 > 其他 > 详细

[leetCode]Merge k Sorted Lists

时间:2014-03-10 15:38:25      阅读:462      评论:0      收藏:0      [点我收藏+]

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

 

外部排序的基础

bubuko.com,布布扣
 1 #include <iostream>
 2 #include<vector>
 3 using namespace std;
 4 
 5 struct ListNode {
 6     int val;
 7     ListNode *next;
 8     ListNode(int x) : val(x), next(NULL) {}
 9 };
10 class Solution {
11 public:
12     static const int MAX = 9999;
13     ListNode *mergeKLists(vector<ListNode *> &lists) {
14         int listnum = checkListNum(lists);
15         ListNode *head,*tail;
16         head = tail = NULL;
17         while(listnum){
18             int index,min;
19             min = MAX;
20             index = 0;
21             for(int i = 0; i < lists.size();i++){
22                 if(lists[i] != NULL){
23                     if(lists[i]->val < min){
24                         min = lists[i]->val;
25                         index = i;
26                     }
27                 }
28             }
29             if(head == NULL){
30                 head = lists[index];
31                 tail = head;
32             }else{
33                 tail->next = lists[index];
34                 tail = tail->next;
35             }
36             lists[index] = lists[index]->next;
37             tail->next = NULL;
38             listnum = checkListNum(lists);
39         }
40         return head;
41     }
42     int checkListNum(vector<ListNode *> &lists){
43         int num = 0;
44         for(int i = 0; i < lists.size();i++){
45             if(lists[i] != NULL) num++;
46         }
47         return num;
48     }
49 };
bubuko.com,布布扣

[leetCode]Merge k Sorted Lists,布布扣,bubuko.com

[leetCode]Merge k Sorted Lists

原文:http://www.cnblogs.com/marylins/p/3590328.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!