Merge k Sorted Lists
来源:互联网 发布:自助建站软件 编辑:程序博客网 时间:2024/06/03 20:40
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
可以用merge sort的思想做。
这里用了priority_queue,相当于heap。
先存下k个链表头,选出最小的t,然后将t->next插入堆。 下一个最小的就是堆的top。
struct compare{ bool operator() (ListNode *a, ListNode *b) { return a->val > b->val; }};ListNode *mergeKLists(vector<ListNode *> &lists){ priority_queue<ListNode *, vector<ListNode *>, compare> priqueue; for (int i = 0; i < lists.size(); i++) { if (lists[i] != NULL) { priqueue.push(lists[i]); } } ListNode *cur = new ListNode(0); ListNode *temp,*head=cur; while (!priqueue.empty()) { temp = priqueue.top(); priqueue.pop(); cur ->next = temp; cur = temp; if (temp->next != NULL) { priqueue.push(temp->next); } } return head->next;}
0 0
- Merge K Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge K Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge K sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge k Sorted Lists
- win7 64位 Eclipse的SVN异常
- 蜗牛—JQuery学习之编辑文本框
- 利用yii自带工具创建基本项目目录
- ACM 2
- iOS 系统APP自动化测试压力测试工具分享
- Merge k Sorted Lists
- 2014/05/19-2014/05/27周工作日志
- Selenium的PageFactory & PageObject 在大型项目中的应用
- 解决android 大图OOM的两种方法
- Oracle建立表空间和用户
- Intent知识分类
- linux下查看系统资源和负载,以及性能监控
- 成为javascript大神要掌握,面向对象编程技术、面向方面编程技术和函数式编程技术
- Accelerated C++学习笔记5—<组织程序和数据>