[Leetcode] Merge k Sorted Lists (Java)
来源:互联网 发布:电梯优化问题奇偶层 编辑:程序博客网 时间:2024/05/02 14:45
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
就用了最普通的merge sort 用了k-1次,复杂度为O(n*k2)
import java.util.ArrayList;public class MergekSortedLists {static class ListNode {int val;ListNode next;ListNode(int x) {val = x;next = null;}}public ListNode mergeKLists(ArrayList<ListNode> lists) {if(lists.isEmpty())return null;ListNode temp = lists.get(0);ListNode res = new ListNode(-1);res.next = temp;ListNode index = res;for(int i=1;i<lists.size();i++) {ListNode t = lists.get(i);while(temp!=null&&t!=null){if(temp.val<t.val){ListNode tt = new ListNode(temp.val);index.next = tt;index = tt;temp = temp.next;}else {ListNode tt = new ListNode(t.val);index.next = tt;index = tt;t = t.next;}}while(temp!=null){ListNode tt = new ListNode(temp.val);index.next = tt;index = tt;temp = temp.next;}while(t!=null) {ListNode tt = new ListNode(t.val);index.next = tt;index = tt;t = t.next;}temp = res.next;index = res;}return res.next;}public static void main(String[] args) {ArrayList<ListNode> lists = new ArrayList<ListNode>();lists.add(new ListNode(1));System.out.println(new MergekSortedLists().mergeKLists(lists).val);}}
如果k很大,k个链表一起用对最小堆会快一些,复杂度为O(k*logk*n),写起来比较麻烦,不写了
0 0
- [Leetcode] Merge k Sorted Lists (Java)
- [LeetCode][Java] Merge k Sorted Lists
- leetcode:Merge k Sorted Lists 【Java】
- LeetCode : Merge k Sorted Lists [java]
- (Java)LeetCode-23. Merge k Sorted Lists
- Merge k Sorted Lists Leetcode Java
- 【LeetCode】Merge k Sorted Lists(java)
- [LeetCode] 23. Merge k Sorted Lists java
- leetcode Merge k Sorted Lists(Java)
- Merge k Sorted Lists leetcode java
- LeetCode: Merge k Sorted Lists
- LeetCode Merge k Sorted Lists
- LeetCode: Merge k Sorted Lists
- [Leetcode] Merge k Sorted Lists
- [Leetcode] Merge k Sorted Lists
- [Leetcode] Merge K sorted lists
- [LeetCode]Merge k Sorted Lists
- [LeetCode] Merge k Sorted Lists
- 浅谈当今互联网产品通过什么办法留住客户
- servlet上传文件进度
- (standard c libraries translation )malloc家族
- SIP基础协议总结
- Install Oracle JDK6 & set as default
- [Leetcode] Merge k Sorted Lists (Java)
- Java基础学习1-环境搭建
- 关于win7下styleSheet设置不成功
- 如何用Java将excel数据导入数据库
- OOP与AOP的区别与联系
- Java集合框架 Map和泛型
- vss svn cvs
- 如何根据用户的需求达到排名上升的效果
- 浅谈多节点CPU+GPU协同计算负载均衡性设计