23. Merge k Sorted Lists(heap)
来源:互联网 发布:极限挑战 感情 知乎 编辑:程序博客网 时间:2024/06/05 07:22
题目:
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
合并k个有序链表创建一个大小为K的堆,每次取出对顶元素,然后添加堆顶元素在原链表的下一个元素。最后取出的元素形成的链表就是有序链表
public ListNode mergeKLists(ListNode[] lists) { ListNode head = null; PriorityQueue<ListNode> heap = new PriorityQueue<ListNode>(10,new Comparator<ListNode>() {@Overridepublic int compare(ListNode o1, ListNode o2) {// TODO Auto-generated method stubreturn o1.val - o2.val;}}); for(int i=0;i<lists.length;i++) { if(lists[i]!=null) heap.offer(lists[i]); } ListNode pre = head; while(heap.size()>0) { ListNode temp = heap.poll(); if(head == null) { head = temp; } else { pre.next = temp; } pre = temp; if(temp.next!=null){ heap.offer(temp.next); } } return head; }
0 0
- 23. Merge k Sorted Lists(heap)
- Merge k Sorted Lists (215 heap)
- 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
- PuzzleView
- hdu3709——Balanced Number(数位dp)
- 这时集群系列文章的目录篇
- 原始套接字编程
- 用户界面UI -- 客户端 -- 数据库 交互时时间保护
- 23. Merge k Sorted Lists(heap)
- SQL实现一个表格中多个字段合并为一个字段
- android studio 错误的解决方法之一:transformClassesWithDexForDebug' finished with non-zero exit value 3
- 安卓常用模块收集(一)--编辑窗口
- CentOS vsftp 553 Could not create file 错误解决
- 堆栈数据代码区
- 不使用第三个结点实现单链表的逆转
- 秒杀设计方案讨论
- PAT(A) - 1094. The Largest Generation (25)