104.Merge k Sorted Lists-合并k个排序链表(中等题)
来源:互联网 发布:软件开发甘特图 编辑:程序博客网 时间:2024/06/02 11:18
合并k个排序链表
题目
合并k个排序链表,并且返回合并后的排序链表。尝试分析和描述其复杂度。
样例
给出3个排序链表[2->4->null,null,-1->null],返回 -1->2->4->null
题解
先遍历删除空链表,再循环遍历头结点,最小值出列,直至只剩一条链表直接接入到排序链表尾部。
/** * Definition for ListNode. * public class ListNode { * int val; * ListNode next; * ListNode(int val) { * this.val = val; * this.next = null; * } * } */ public class Solution { /** * @param lists: a list of ListNode * @return: The head of one sorted list. */ public ListNode mergeKLists(List<ListNode> lists) { ListNode dummy = new ListNode(1); ListNode head = dummy; for (int i=lists.size()-1;i>=0;i--) { if (lists.get(i) == null) { lists.remove(i); } } while (lists.size() > 1) { ListNode min = lists.get(0); int index = 0; for (int i=lists.size()-1;i>=0;i--) { if (lists.get(i).val < min.val) { min = lists.get(i); index = i; } } lists.set(index,min.next); if (lists.get(index) == null) { lists.remove(index); } head.next = min; head = head.next; } if (lists.size() == 1) { head.next = lists.get(0); } return dummy.next; }}
Last Update 2016.10.9
0 0
- 104.Merge k Sorted Lists-合并k个排序链表(中等题)
- LeetCode 23 Merge k Sorted Lists(合并K个已排序链表)
- LeetCodet题解--23. Merge k Sorted Lists(合并K个已排序的链表)
- 合并k个有序链表 Merge k Sorted Lists
- Merge k Sorted Lists(合并k个有序链)
- leetCode 23. Merge k Sorted Lists (合并k个排序链表) 解题思路和方法
- lintcode merge-k-sorted-lists 合并k个排序链表
- Leetcode 23. Merge k Sorted Lists合并k个排序链表
- leetcode 23. Merge k Sorted Lists 合并k个排序链表 优先级队列
- LeetCode OJ 之 Merge k Sorted Lists(合并k个有序链表)
- leetcode_效率题解_23. Merge k Sorted Lists(合并k个有序链表)
- K链表合并 Merge k Sorted Lists
- Merge k Sorted Lists 合并k个有序链表@LeetCode
- 【链表&合并K个有序链表】Merge k Sorted Lists
- 23. Merge k Sorted Lists 合并K个有序链表
- 合并K个有序链表(LeetCode:Merge k Sorted Lists)
- leetcode解题之23.Merge k Sorted Lists Java版本(合并k个有序的链表)
- 算法题——Merge k Sorted Lists(JAVA)合并链表
- python * 与 **
- netcdf数据nc格式数据java解析总结(二)使用java解析netcdf数据
- cxf开发webservice服务端和客户端
- sublime text 3
- 在jsp中获取服务器端的时间
- 104.Merge k Sorted Lists-合并k个排序链表(中等题)
- 序选择器 :
- 滚轮滚动时追加页面显示数据
- 最小生成树算法
- java做一个缓存类(应用TimerTask和ReadWriteLock)
- javascript数据结构1-数组
- Android中的软件Watchdog
- Winform登录窗体登录仿asp.net验证成功后进入主界面
- Android,HTTP请求类