【23】Merge k Sorted Lists
来源:互联网 发布:甲醛检测仪推荐 知乎 编辑:程序博客网 时间:2024/06/01 11:55
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
这里用到了优先队列,每次让权值最小的节点出队并让它的后一个节点(不为NULL)入队,直到队列为空。而如果当前只剩一条链不为空时,直接把这条链链接到最后。
struct cmp{ bool operator()(ListNode* a,ListNode* b){ return a->val > b->val; }};ListNode* mergeKLists(vector<ListNode*>& lists) { priority_queue<ListNode*,vector<ListNode*>,cmp> p_queue; ListNode* head=new ListNode(0); ListNode* p=head; int n=lists.size(); int rem=n; for(int i=0;i<n;i++){ if(lists[i])p_queue.push(lists[i]); else rem--; } while(!p_queue.empty()){ ListNode* temp=p_queue.top(); p_queue.pop(); p->next=temp; p=p->next; if(rem==1)break; if(temp->next)p_queue.push(temp->next); else rem--; } return head->next;}
0 0
- 23Merge k Sorted Lists
- #23 Merge k Sorted Lists
- 23Merge k Sorted Lists
- 【23】Merge k Sorted Lists
- 23-Merge k Sorted Lists
- 23 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
- POJ 1273 Drainage Ditches(最大流模板)
- angular.js构建单页面购物车
- 剑指offer----左旋转字符串----java实现
- git 回滚到之前某一commit
- Java学习提要——String的基本方法
- 【23】Merge k Sorted Lists
- Keil调试不能全速运行
- Django rest framework ---Serializers
- action 无法实例化
- poj 1222 高斯消元
- u盘 移动硬盘 grub2 install ubuntu and windows
- Android Open Accessory Protocol 2.0
- js基础4
- 优秀源码,动画,大神代码,框架集合