【LeetCode】【数组归并】Merge k Sorted Lists
2021-06-18 02:03
标签:klist for amp sts 一个 NPU ret 归并 erase Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. Example: 借鉴Merge Two Sorted Lists的解决思路,对两个数组先进行排序,然后两两组合,排成一个序列。 将此视为一种迭代的分而治之的解决方案。 尽量不用erase方法,太耗时。 一些优化以避免vector.erase() 比如下述: 改为使用指针方法遍历vector,最后取vector.back() 最终解决方案: 【LeetCode】【数组归并】Merge k Sorted Lists 标签:klist for amp sts 一个 NPU ret 归并 erase 原文地址:https://www.cnblogs.com/ygh1229/p/9718627.html描述
Input:
[
1->4->5,
1->3->4,
2->6
]
Output: 1->1->2->3->4->4->5->6
思路
mergeTwoLists方法是一种递归的合并两个序列的方法
注意:
while(lists.size() > 1){
lists.push_back(mergeTwoLists(lists[0], lists[1]));
lists.erase(lists.begin());
lists.erase(lists.begin());
}
return lists.front();
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* mergeKLists(vector
上一篇:数组翻转(非reverse)
文章标题:【LeetCode】【数组归并】Merge k Sorted Lists
文章链接:http://soscw.com/essay/95282.html