LeetCode: Merge k Sorted Lists 解题报告
2014-12-05 10:37
405 查看
Merge k Sorted Lists
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
Show Tags
View Code
GITHUB:
https://github.com/yuzhangcmu/LeetCode_algorithm/blob/master/list/MergeKLists_1204.java
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
Show Tags
/* SOL 2: 使用 priority Queue. */ public ListNode mergeKLists(List<ListNode> lists) { // 记得加上这个合法性判断。 if (lists == null || lists.size() == 0) { return null; } int size = lists.size(); PriorityQueue<ListNode> q = new PriorityQueue<ListNode>(size, new Comparator<ListNode>() { // 注意,此处参数用ListNode public int compare(ListNode o1, ListNode o2) { return o1.val - o2.val; } } ); // Add all the head node to the priority queue. for (ListNode node: lists) { if (node != null) { // Should skip the null node.s q.offer(node); } } ListNode dummy = new ListNode(0); ListNode tail = dummy; while (!q.isEmpty()) { // get the smallest node from the queue. ListNode cur = q.poll(); tail.next = cur; tail = tail.next; // 将下一个节点补充进来。 if (cur.next != null) { q.offer(cur.next); } } return dummy.next; }
View Code
GITHUB:
https://github.com/yuzhangcmu/LeetCode_algorithm/blob/master/list/MergeKLists_1204.java
相关文章推荐
- [LeetCode] Merge Two Sorted Lists 解题报告
- [LeetCode] Merge k Sorted Lists 解题报告
- [LeetCode] Merge k Sorted Lists 解题报告
- LeetCode解题报告--Merge Two Sorted Lists
- [leetcode] 23. Merge k Sorted Lists 解题报告
- 【LeetCode】Merge Two Sorted Lists和Add TwoNumber解题报告
- LeetCode解题报告--Merge k Sorted Lists
- 【LeetCode】Merge k Sorted Lists 解题报告
- Leetcode Merge Two Sorted Lists 解题报告
- [LeetCode] Merge k Sorted Lists 解题报告
- [Leetcode] 23. Merge k Sorted Lists 解题报告
- LeetCode Merge k Sorted Lists 解题报告
- 【LeetCode】Merge Two Sorted Lists 解题报告(Java & Python)
- 【LeetCode】Merge Sorted Array 解题报告
- LeetCode88 Merge Sorted Array 解题报告
- Leetcode #21 Merge Two Sorted Lists 合并有序链表 解题报告
- LeetCode OJ 之Merge TwoSorted Lists 解题报告
- [leetcode] 21. Merge Two Sorted Lists 解题报告
- leetcode解题方案--021--Merge Two Sorted Lists
- leetCode 23. Merge k Sorted Lists (合并k个排序链表) 解题思路和方法