LeetCoder 23. Merge k Sorted Lists
来源:互联网 发布:udp服务端保存数据 编辑:程序博客网 时间:2024/06/03 10:52
题意
合并
思路
解法一:
将
解法二:
优先队列,即priority_queue
,将链表中的数一次加入到优先队列中,因为默认的优先队列是按照从大到小顺序的,所以说最后需要反转链表.
代码
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: priority_queue<int>q; ListNode* mergeKLists(vector<ListNode*>& lists) { size_t len = lists.size(); for(size_t i = 0; i < len;i++){ ListNode *head = lists[i]; while(head != NULL){ q.push(head->val); head = head->next; } } ListNode *head = new ListNode(0); ListNode *temp = head; while(!q.empty()){ temp->next = new ListNode(q.top()); q.pop(); temp = temp->next; } temp->next = NULL; head = head->next; temp = NULL; while(head != NULL && head->next != NULL){ ListNode *p = head->next; head->next = temp; temp = head; head = p; } if(head != NULL) head->next = temp; return head; }};
阅读全文
0 0
- LeetCoder 23. Merge k Sorted Lists
- LeetCoder 21. Merge Two Sorted Lists
- 23. Merge k Sorted Lists
- 23.Merge K Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23.Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23.Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- 字符串和字节字符串
- Android(7)模拟Http请求及访问网络和SDCard的权限设置
- 《C#入门经典(第7版)》变量和表达式
- python之readline模块 实现自动补全
- 跟踪springmvc请求
- LeetCoder 23. Merge k Sorted Lists
- Redis集群搭建与简单使用
- 04.java标识符和关键字
- python字典(dict)get方法
- 依赖注入
- 总结10--初识Java
- 《C#入门经典(第7版)》编写C#程序
- 分享一套4A公司门户模板(支持响应式与移动APP接入及微信管理强大后台)
- oracle数据基础