CODE 109: Merge k Sorted Lists
来源:互联网 发布:keepunto软件下载 编辑:程序博客网 时间:2024/06/05 15:47
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
public ListNode mergeKLists(ArrayList<ListNode> lists) {// IMPORTANT: Please reset any member data you declared, as// the same Solution instance will be reused for each test case.if (null == lists || lists.isEmpty()) {return null;}return dfs(lists, 0, lists.size() - 1);}ListNode dfs(ArrayList<ListNode> lists, int start, int end) {if (start == end) {return lists.get(start);} else if (end > start && end == start + 1) {return merge2Lists(lists.get(start), lists.get(end));}int mid = start + (end - start) / 2;ListNode left = dfs(lists, start, mid);ListNode right = dfs(lists, mid + 1, end);return merge2Lists(left, right);}ListNode merge2Lists(ListNode first, ListNode second) {ListNode tmpF = first;ListNode tmpS = second;ListNode newNode = new ListNode(0);ListNode tmpN = newNode;while (null != tmpF && null != tmpS) {if (tmpS.val >= tmpF.val) {tmpN.next = tmpF;tmpF = tmpF.next;tmpN = tmpN.next;} else {ListNode node = new ListNode(tmpS.val);tmpN.next = node;tmpS = tmpS.next;tmpN = tmpN.next;}}if (null != tmpS) {tmpN.next = tmpS;}if (null != tmpF) {tmpN.next = tmpF;}return newNode.next;}
- CODE 109: Merge k Sorted Lists
- [Leet Code] 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
- Merge k Sorted Lists
- Merge k Sorted Lists
- Merge K sorted Lists
- Merge k Sorted Lists
- 软件工程——整体把握
- 终端telnet登陆乱码问题
- KMP算法 Knuth-Morris-Pratt 字符串查找算法
- centos下使用eclipse开发mapreduce
- Android APK文件反编译及重编译
- CODE 109: Merge k Sorted Lists
- URAL 1979 Resources Distribution
- JavaWeb---实现多线程下载
- 配置Matlab和C语言的混合编程环境(Windows环境下)
- 转一个二进制和十进制之间的转换程序
- 实际项目中手动测试和自动测试的合理运用
- 程序员遇到Bug后的30种常见反应
- Android应用启动时屏幕黑屏或白屏解决方案
- Red and Black