合并k个有序的链表
来源:互联网 发布:嵌入式linux tftp使用 编辑:程序博客网 时间:2024/05/16 16:21
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode mergeKLists(ListNode[] lists) { int len=lists.length; if(lists==null||len==0) return null; if(len==1) return lists[0]; while(len>1) { int mid=(len+1)/2;//二分 for(int i=0;i<len/2;i++) { lists[i]=mergetwolist(lists[i],lists[i+mid]); } len=mid; } return lists[0]; } public static ListNode mergetwolist(ListNode l1,ListNode l2){ if(l1==null) return l2; if(l2==null) return l1; ListNode newlist = new ListNode(0); ListNode cur = newlist; while(l1!=null && l2!=null){ if(l1.val < l2.val){ cur.next = l1; cur = cur.next; l1 = l1.next; }else{ cur.next = l2; cur = cur.next; l2 = l2.next; } if(l1!=null) cur.next = l1; if(l2!=null) cur.next = l2; } return newlist.next; }}
阅读全文
0 0
- 合并k个有序的链表
- LeetCode 合并k个有序链表
- 合并k个有序链表
- 合并k个有序链表
- 合并K个有序链表
- 合并K个有序链表-堆的使用
- 合并k个有序链表 Merge k Sorted Lists
- O(N lgK) 时间内合并K个有序链表
- O(N lgK) 时间内合并K个有序链表
- 合并K个有序链表O(N lgK)
- O(N lgK) 时间内合并K个有序链表
- 经典算法——合并K个有序链表
- 23.合并k个有序表
- 【算法】合并k个有序的链表-基于最小堆的思想
- 把k个有序表合并成一个有序表
- 2个有序链表的合并
- 俩个有序链表的合并
- 合并k个有序数组
- pc端的适配问题
- jquery.ajax参数时间例子
- Ubuntu 14.04 增加SWAP交换分区的方法
- 异常处理
- Secure CRT快捷键
- 合并k个有序的链表
- 对Java的四大特性的理解
- Python数据结构:序列(列表[]、元组())与映射(字典{})语法总结
- V4L2源代码之旅三:I2C sub-device drivers
- Java连接MySQL警告
- 基础学习
- Django-restframework24 Filtering(过滤器)
- 19-多线程(验证同步函数的锁) 21-多线程(单例模式涉及的多线程问题) 1 2 22-多线程(死锁示例) 23-Objcet放的位置产生的问题
- python--续行书写方法