leetcode 23. Merge k Sorted Lists
来源:互联网 发布:淘宝网耐克男特价 编辑:程序博客网 时间:2024/06/02 03:47
相关问题
Discription
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
思路
最小堆
该题为二路归并的变种,多路归并。使用最小堆结构在
时间复杂度:
空间复杂度:
代码
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */bool cmp(const ListNode *a, const ListNode *b){ return a->val > b->val;}class Solution {public: ListNode* mergeKLists(vector<ListNode*>& lists) { if (lists.empty()) return NULL; vector<ListNode*> heap; ListNode *root, *pNode; for (int i = 0; i < lists.size(); i++) { if (lists[i]) heap.push_back(lists[i]); } if (heap.empty()) return NULL; make_heap(heap.begin(), heap.end(), cmp); pop_heap(heap.begin(), heap.end(), cmp); pNode = root = heap.back(); heap.pop_back(); while (!heap.empty()) { // 加入元素 if (pNode->next) { heap.push_back(pNode->next); push_heap(heap.begin(), heap.end(), cmp); } // 取出元素 pop_heap(heap.begin(), heap.end(), cmp); pNode->next = heap.back(); heap.pop_back(); pNode = pNode->next; } return root; }};
阅读全文
0 0
- leetcode 23. LeetCode Merge k Sorted Lists
- [LeetCode]23.Merge k Sorted Lists
- LeetCode --- 23. Merge k Sorted Lists
- LeetCode 23.Merge k Sorted Lists
- [Leetcode] 23. Merge k Sorted Lists
- 【LeetCode】23.Merge k Sorted Lists
- [leetcode] 23.Merge k Sorted Lists
- Leetcode-23.Merge k Sorted Lists
- [Leetcode]23. Merge k Sorted Lists @python
- leetcode 23. Merge k Sorted Lists
- leetcode 23. Merge k Sorted Lists
- leetcode 23. Merge k Sorted Lists
- LeetCode 23. Merge k Sorted Lists
- [leetcode] 23. Merge k Sorted Lists
- LeetCode 23. Merge k Sorted Lists
- LeetCode 23. Merge k Sorted Lists
- LeetCode-23.Merge k Sorted Lists
- Leetcode 23. Merge k Sorted Lists
- 89. Gray Code
- MySQL测试
- 使用Ajax从客户端调用服务器端代码
- LeetCode455. Assign Cookies题解
- linux备份mysql数据库冷备热备定时备份数据
- leetcode 23. Merge k Sorted Lists
- 下架apple store上的应用
- [App] DNS Bind + MySQL
- 搭建Nginx服务器
- MVC,MVP 和 MVVM 的图示
- 上传进度条的实现
- CUDA Tegra、GeForce、Quadro、Tesla的区别
- StackExchange.Redis官方文档(七)【性能分析】
- 从运维角度看中大型网站架构的演变之路