Leetcode-23: Merge k Sorted Lists
来源:互联网 发布:交通违章查询软件下载 编辑:程序博客网 时间:2024/06/05 07:38
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
将k个有序的列表归并成一个有序列表。
思路:数据结构中学过的是k=2时的特例,不过实际都是每次都将所有列表中头元素最小的那个元素加入新的列表。有两种方法:
1)朴素的比较然后归并方法,对于每个新加入的元素都要做比较k次,那么复杂度将是
2)由于
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode mergeKLists(ListNode[] lists) { if (lists == null || lists.length == 0) return null; if (lists.length == 1) return lists[0]; Queue<ListNode> pq = new PriorityQueue<>(lists.length, new Comparator<ListNode>(){ @Override public int compare(ListNode l1, ListNode l2) { if (l1.val < l2.val) return -1; else if (l1.val > l2.val) return 1; else return 0; } }); ListNode sential = new ListNode(0); for (ListNode list : lists){ if (list != null) pq.add(list); } ListNode tail = sential; while (!pq.isEmpty()) { tail.next = pq.poll(); tail = tail.next; if (tail.next != null) pq.add(tail.next); } return sential.next; }}
阅读全文
0 0
- LeetCode(23)Merge K Sorted Lists
- [leetcode 23] Merge k Sorted Lists
- [leetcode]23 Merge k Sorted Lists
- [#23 leetcode]Merge k Sorted Lists
- LeetCode 23 Merge k Sorted Lists
- leetcode 23 Merge k Sorted Lists
- [Leetcode 23, Hard] Merge k Sorted Lists
- Leetcode 23 Merge k Sorted Lists
- LeetCode 23 - Merge k Sorted Lists
- LeetCode 23: Merge K Sorted Lists
- leetcode-23Merge k Sorted Lists
- leetcode 23: Merge k Sorted Lists
- Leetcode 23 Merge k Sorted Lists
- LeetCode-23 Merge k Sorted Lists
- LeetCode 23: Merge k Sorted Lists
- leetcode 23:Merge k Sorted Lists
- Leetcode #23 Merge k Sorted Lists
- LeetCode(23)Merge k Sorted Lists
- [thinkPHP5项目实战_07]引入后台管理页面
- <线段树系列2> codevs 1082 线段树练习2
- ELK
- 几种降维思想方法总结
- hdu 4771Stealing Harry Potter's Precious(状态压缩bfs)
- Leetcode-23: Merge k Sorted Lists
- 欢迎使用CSDN-markdown编辑器
- 严重: Compilation error org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException
- Objective-C中的@synthesize和@dynamic
- electron 环境部署
- 【XSY1522】灯 乱搞
- App的分类
- 树的最小支配集,最小点覆盖,最大独立集两种算法
- 开发一个iOS应用没有那么容易