LeetCode-23. Merge k Sorted Lists
2018-02-27 15:48
429 查看
LeetCode-23. Merge k Sorted Lists
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.思路:学会了合并两条有序链表后,此题就不难解决,依次将K条链表每两条进行合并,重复进行,直至最后剩下一条链表为止。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 - i - 1]);
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;
}
}
};
相关文章推荐
- leetcode23---Merge k Sorted Lists
- leetcode 23 Merge k Sorted Lists
- leetcode题解-23. Merge k Sorted Lists
- leetcode 23. Merge k Sorted Lists
- LeetCode 23. Merge k Sorted Lists
- leetcode 23. Merge k Sorted Lists(堆||分治法)
- LeetCode 23 Merge k Sorted Lists(合并K个已排序链表)
- LeetCode 23 Merge k Sorted Lists(合并k个有序链表)
- leetcode 23. Merge k Sorted Lists
- LeetCode--23. Merge k Sorted Lists
- [#23 leetcode]Merge k Sorted Lists
- [LeetCode-Algorithms-23] "Merge k Sorted Lists" (2017.9.22-WEEK3)
- LeetCode 23. Merge k Sorted Lists(java)
- LeetCode 23 Merge k Sorted Lists,28ms beats 99% cpp.
- LeetCodet题解--23. Merge k Sorted Lists(合并K个已排序的链表)
- LeetCode_OJ【23】Merge k Sorted Lists
- 【LeetCode】23. Merge k Sorted Lists 基于Java的解法
- LeetCode 23: Merge k Sorted Lists
- 【leetcode每日一题】23.Merge k Sorted Lists
- LeetCode - 23. Merge k Sorted Lists