23. Merge k Sorted Lists
来源:互联网 发布:mac怎么卸载迅雷 编辑:程序博客网 时间:2024/06/08 15:34
难度主要在时间复杂度上,不能直接k路归并排序,k=10000时,TLE。
应该二路归并,复杂度O(nlogn)
public class Solution { public ListNode mergeTwoLists(ListNode list1, ListNode list2){ ListNode dummyHead = new ListNode(-1); ListNode cur = dummyHead; while(list1 != null && list2 != null){ if (list1.val < list2.val){ cur.next = list1; list1 = list1.next; }else{ cur.next = list2; list2 = list2.next; } cur = cur.next; } if (list1 == null) cur.next = list2; else cur.next = list1; return dummyHead.next; } public ListNode mergeKLists(ListNode[] lists) { ListNode head = null; LinkedList<ListNode> indices = new LinkedList<ListNode>(); for (int i = 0; i < lists.length; i ++){ if (lists[i] != null) indices.add(lists[i]); } if (indices.size() == 0) return head; ListNode head1, head2; while (indices.size() > 1){ head1 = indices.remove(); head2 = indices.remove(); indices.add(mergeTwoLists(head1, head2)); } return indices.remove(); }}
0 0
- 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
- 23. Merge k Sorted Lists
- 23. Merge k Sorted Lists
- Activex、OLE、COM、OCX、DLL之间的区别
- WTL,ATL与MFC之比较
- wine调试信息
- ios学习--RSA加密与破解 (SSL/TLS协议)
- Windows驱动签名
- 23. Merge k Sorted Lists
- windows 连接并显示ubuntu界面
- Myeclipse如何使用Maven添加jar包
- gvim cscope
- WDK 环境变量
- bat 打印环境变量
- 最小生成树 kruskal算法+时间复杂度
- vim 多个剪贴板
- VBoxDispDrvEnablePDEV