LeetCode OJ 之 Merge k Sorted Lists(合并k个有序链表)
来源:互联网 发布:身份证信息读取软件 编辑:程序博客网 时间:2024/05/22 01:32
题目:
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
合并k个有序链表,返回合并后的链表。分析复杂度。
思路:
先两两合并。链表数减少到k/2,然后再两两合并链表数目又减少到k/4,依次这样下去,直到只剩一个链表。
代码:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* mergeKLists(vector<ListNode*>& lists) { if(lists.empty()) return NULL; int len = lists.size(); while(len > 1) { for(int i = 0 ; i < len / 2 ; i++) { lists[i] = mergeTwoLists(lists[i] , lists[len - 1 - i]);//前后合并 } len = (len + 1) / 2;//长度缩小 } return lists.front(); } ListNode * mergeTwoLists(ListNode *l1 , ListNode *l2) { if(l1 == NULL) return l2; if(l2 == NULL) return l1; if(l1->val < l2->val) { l1->next = mergeTwoLists(l1->next , l2); return l1; } else { l2->next = mergeTwoLists(l1 , l2->next); return l2; } }};
0 0
- LeetCode OJ 之 Merge k Sorted Lists(合并k个有序链表)
- 合并k个有序链表 Merge k Sorted Lists
- Merge k Sorted Lists(合并k个有序链)
- leetcode解题之23.Merge k Sorted Lists Java版本(合并k个有序的链表)
- Merge k Sorted Lists 合并k个有序链表@LeetCode
- 合并K个有序链表(LeetCode:Merge k Sorted Lists)
- leetcode_效率题解_23. Merge k Sorted Lists(合并k个有序链表)
- LeetCode 23 Merge k Sorted Lists(合并K个已排序链表)
- 【链表&合并K个有序链表】Merge k Sorted Lists
- 23. Merge k Sorted Lists 合并K个有序链表
- 24.leetcode Merge k Sorted Lists(hard)[归并k个有序链表]
- Leetcode #23 Merge k Sorted Lists 合并K个有序列表 解题报告
- LeetCode OJ 之 Merge Two Sorted Lists(合并两个有序的链表)
- leetCode 23. Merge k Sorted Lists (合并k个排序链表) 解题思路和方法
- Leetcode 23. Merge k Sorted Lists合并k个排序链表
- leetcode 23. Merge k Sorted Lists 合并k个排序链表 优先级队列
- LeetCode Merge k Sorted Lists(有序单链表数组的合并)
- [LeetCode]Merge K sorted List合并K个有序链表
- Android-Layout 布局属性 & 参数标签 集合
- D3学习之:D3.js中的12中地图投影方式
- iis7+php5.4的安装配置
- 解读大型网站系统架构的演化
- 苹果IOS平台支持概览
- LeetCode OJ 之 Merge k Sorted Lists(合并k个有序链表)
- EJB_Client结合Weblogic
- 自己动手写C语言库函数(5)strcpy
- 一机一码注册方式的实现(C#)
- ReleaseNotes 3.3.1
- Android手机SD卡文件或目录拷贝、复制、粘贴功能实现代码
- linux外放没声音解决方法
- 黑马程序员-IOS基础---scanf函数用法及注意事项
- Android新版NDK环境配置(免Cygwin)