leetcode Merge k Sorted Lists
来源:互联网 发布:mac系统游戏 编辑:程序博客网 时间:2024/06/10 19:41
题目:
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
解题思路:
利用一个优先队列实现程序的模拟,优先队列根据ListNode的val值大小进行排序。
代码:
public ListNode mergeKLists(ArrayList<ListNode> lists) { if (lists == null || lists.size() == 0) return null; PriorityQueue<ListNode> pq = new PriorityQueue<ListNode>(lists.size(), new Comparator<ListNode>() {//优队列的大小为待比较的链表数目 @Override public int compare(ListNode listNode1, ListNode listNode2) { return listNode1.val - listNode2.val; } }); for (ListNode listNode : lists) { if (listNode != null) pq.add(listNode); } ListNode res = new ListNode(0); ListNode ptr = res; while (!pq.isEmpty()) { ListNode listNode = pq.poll(); if (listNode.next != null) pq.add(listNode.next); ptr.next = listNode; ptr = ptr.next; } return res.next; }
参考链接:
http://blog.sina.com.cn/leetcode
0 0
- LeetCode: Merge k Sorted Lists
- LeetCode Merge k Sorted Lists
- LeetCode: Merge k Sorted Lists
- [Leetcode] Merge k Sorted Lists
- [Leetcode] Merge k Sorted Lists
- [Leetcode] Merge K sorted lists
- [LeetCode]Merge k Sorted Lists
- [LeetCode] Merge k Sorted Lists
- LeetCode-Merge k Sorted Lists
- LeetCode: Merge k Sorted Lists
- LeetCode - Merge k Sorted Lists
- LeetCode | Merge k Sorted Lists
- 【leetcode】Merge k Sorted Lists
- Leetcode: Merge k Sorted Lists
- <Leetcode>Merge k Sorted Lists
- [LeetCode] Merge K sorted lists
- [LeetCode] Merge k Sorted Lists
- 【Leetcode】Merge k Sorted Lists
- CloudFlare resources and downloads
- 内存映射文件
- VC中句柄、指针、ID之间的转换
- 网络工程师枕边书:精选30本图书抢先读
- 【PLSQL】触发器trigger类型,状态,参数
- leetcode Merge k Sorted Lists
- mapreduce中map数量计算
- 实用 .htaccess 用法大全
- ACM--steps--4.2.8--Catch him
- SqlServer 总体分析死锁进程
- mx4 pro修改分辨率教程
- gdb调试string字符串
- C++友元类
- 在类模板的声明和定义中把.h与.cpp分离