Leetcode 线性表 Merge k Sorted Lists
2014-05-14 20:05
183 查看
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie
Total Accepted: 10360 Total
Submissions: 44166
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
题意:将k个已排好序的链接合并成一个有序链表
思路:
利用Merge Two Sorted Lists的代码
两条两条地合并链表
复杂度:时间O(k*n), 空间O(1)
Merge k Sorted Lists
Total Accepted: 10360 TotalSubmissions: 44166
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
题意:将k个已排好序的链接合并成一个有序链表
思路:
利用Merge Two Sorted Lists的代码
两条两条地合并链表
复杂度:时间O(k*n), 空间O(1)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode *mergeKLists(vector<ListNode *> &lists) { if(lists.empty()) return NULL; ListNode *l1 = lists.front(); for(int i = 1; i < lists.size(); i++){ l1 = mergeTwoLists(l1, lists[i]); } return l1; } private: ListNode *mergeTwoLists(ListNode *l1, ListNode *l2){ if(!l1) return l2; if(!l2) return l1; ListNode *l3, *cur; ListNode dummy(-1); l3 = cur = &dummy; while(l1&&l2){ if(l1->val < l2->val) { cur->next = l1; l1 = l1->next; }else{ cur->next = l2; l2 = l2->next; } cur = cur->next; } if(l1) cur->next = l1; else cur->next = l2; return l3->next; } };
相关文章推荐
- Leetcode 线性表 Merge Two Sorted Lists
- 开始刷leetcode day10:Merge Two Sorted Lists
- LeetCode 21 Merge Two Sorted Lists(合并两个已排序的链表)(Linked List)
- LeetCode Merge Two Sorted Lists
- LeetCode(21)Merge Two Sorted Lists
- [Leetcode] Merge k sorted lists 合并k个已排序的链表
- leetcode:Merge Two Sorted Lists 【Java】
- LeetCode 23. Merge k Sorted Lists
- 【LeetCode】Merge k Sorted Lists
- 【LeetCode】-Merge Two Sorted Lists
- [Leetcode]Merge Two Sorted Lists
- leetcode-21 Merge Two Sorted Lists
- leetcode第一刷_Merge k Sorted Lists
- leetcode_c++:链表:Merge k Sorted Lists(023)
- Leetcode 21. Merge Two Sorted Lists
- LeetCode : Merge Two Sorted Lists [java]
- LeetCode Merge Two Sorted Lists C++
- [LeetCode-Algorithms-23] "Merge k Sorted Lists" (2017.9.22-WEEK3)
- [leetcode]Merge k Sorted Lists
- Leetcode刷题记——21. Merge Two Sorted Lists(合并两有序链表)