首页 > 其他 > 详细

leetcode problem :23. Merge k Sorted Lists

时间:2017-11-27 22:55:53      阅读:224      评论:0      收藏:0      [点我收藏+]
class Solution {
public:
    ListNode* mergeKLists(vector<ListNode*>& lists) {
        ListNode* head = NULL;
        ListNode* current = NULL;
        for (int i = 0; i < lists.size(); ++i){
            if (!lists[i]){
                lists.erase(lists.begin()+i);
                --i;
            }
        }
        while (lists.size()){
            int min_value=lists[0]->val;
            int min_index = 0;
            for (int i = 1; i < lists.size(); ++i){
                if (lists[i]->val < min_value){
                    min_index = i;
                    min_value = lists[i]->val;
                }
            }
            if (head == NULL){
                head = lists[min_index];
                current = head;
            }
            else {
                current->next = lists[min_index];
                current = current->next;
            }
            lists[min_index] = lists[min_index]->next;
            if (!lists[min_index]){
                lists.erase(lists.begin()+min_index);
            }
        }
        return head;
    }
};

  

leetcode problem :23. Merge k Sorted Lists

原文:http://www.cnblogs.com/nosaferyao/p/7906255.html

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