【Leetcode】Merge K Sorted Linked List
来源:互联网 发布:三戒大师知乎 编辑:程序博客网 时间:2024/05/22 08:26
【题目】
Merge k sorted Linked Lists and return it as one sorted lists. Analyze and describe its complexity .
【思路】
leetcode clean book
【代码】
private static final Comparator<ListNode> listComparator = new Comparator<ListNode>(){public int compare(ListNode x, ListNode y){return x.val - y.val;}};public static ListNode mergeK(List<ListNode> list){if(list.isEmpty()) return null;Queue<ListNode> queue = new PriorityQueue<>(list.size(),listComparator);for(ListNode node : list){if(node!=null){queue.add(node);}}ListNode dummy = new ListNode(0);ListNode p = dummy;while(!queue.isEmpty()){ListNode node = queue.poll();p.next = node;p=p.next;if(node.next!=null){queue.add(node.next);}}return dummy.next;}
public static ListNode mergeK2(List<ListNode> list){if (list == null) return null;int end = list.size() - 1;while(end > 0){int start = 0;while(start < end){list.set(start, merge2List(list.get(start),list.get(end)));start++;end--;}}return list.get(0);}public static ListNode merge2List(ListNode l1, ListNode l2){ListNode dummy = new ListNode(0);ListNode cur = dummy; ListNode p = l1, q = l2; while(p != null && q != null){ if(p.val > q.val ){ cur.next = q; q = q.next; }else{ cur.next = p; p = p.next; } cur = cur.next; } if(p!=null) cur.next = p; if(q!=null) cur.next = q; return dummy.next;}
0 0
- LeetCode[Linked List]: Merge k Sorted Lists
- 【Leetcode】Merge K Sorted Linked List
- Merge k sorted list--LeetCode
- Leetcode - Merge K sorted list
- [LeetCode] Merge K Sorted Linked Lists
- 【LeetCode】【Linked List】Merge Two Sorted Lists
- LeetCode 23: Merge K Sorted List
- 多路归并排序 merge k sorted array, merge k sorted linked list
- Merge K Sorted List
- Merge K Sorted List
- Merge k sorted List
- leetcode 023 —— Merge k sorted linked lists
- Merge k sorted linked lists
- Merge k sorted linked lists
- Merge two sorted linked list
- [LeetCode] Merge k Sorted List (priority queue, min heap, comparator)
- LeetCode: Merge k Sorted Lists
- LeetCode Merge k Sorted Lists
- 网络通信框架——Volley(一)
- Ant---build.xml
- Eclipse常用快捷键
- openwrt 防火墙设置 一。/etc/config/firewall
- 企业级电商一般包含哪些模块总结
- 【Leetcode】Merge K Sorted Linked List
- JAVA程序运行时 对象的放置安排及内存的分配
- 计算机视觉相关会议
- Linux 设备驱动之 UIO 机制(测试 UIO 机制)
- 一分耕耘一分收获,精诚所至金石为开
- css属性:改变鼠标形状
- win7下安装MySQL
- 折半查找
- 验证相关