Merge k Sorted Lists
来源:互联网 发布:软件 设计说明书 编辑:程序博客网 时间:2024/06/15 18:38
题目描述
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
题目解答
解题思路
创建一个优先级队列,每次弹出最小的元素,弹入最小元素的下一个元素,然后不断地迭代,直到队列为空。
代码实现
/** * 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.length == 0) return null; PriorityQueue<ListNode> queue = new PriorityQueue<>(new Comparator<ListNode>() { @Override public int compare(ListNode o1, ListNode o2) { return o1.val - o2.val; } }); for(ListNode temp : lists){ if(temp != null) queue.add(temp); } ListNode dummy = new ListNode(0); ListNode cur = dummy; dummy.next = null; while(!queue.isEmpty()){ ListNode min = queue.poll(); cur.next = min; cur = min; if(min.next != null) queue.add(min.next); } return dummy.next; }}
0 0
- 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
- Merge k Sorted Lists
- 关于凸包:grahman scan
- 几何求面积
- 写给初学git的童鞋
- 洛谷p1160 双向链表
- 后缀数组
- Merge k Sorted Lists
- 【leetcode】【62】Unique Paths
- 堆模版
- codevs1022
- Poj3020
- Poj1416
- 【Baidu地图学习笔记】Couldn't load BaiduMapSDK_v3_2_0_15: findLibrary returned null
- 可以addHeaderView和addFooterView的GridView
- codevs 1227 方格取数 网络流