leetcode 23 Merge k Sorted Lists
2017-08-30 09:39
513 查看
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: typedef vector<ListNode*>::size_type sz; // [b, e) be sure (e - b) >= 2; ListNode* dividAndConquer(vector<ListNode*>& v, sz b, sz e) { sz n = e - b; sz mid = b + (e - b) / 2; ListNode* left = NULL; ListNode* right = NULL; if (mid - b >= 2) left = dividAndConquer(v, b, mid); else left = v[b]; if (e - mid >= 2) right = dividAndConquer(v, mid, e); else right = v[mid]; ListNode dummy(INT_MIN); ListNode* tail = &dummy; if (left == NULL) return right; if (right == NULL) return left; while (left && right) { if (left->val < right->val) { tail->next = left; left = left->next; } else { tail->next = right; right = right->next; } tail = tail->next; } tail->next = left ? left : right; return dummy.next; } ListNode* mergeKLists(vector<ListNode*>& lists) { sz size = lists.size(); if (size == 0) return NULL; if (size == 1) return lists[0]; return dividAndConquer(lists, 0, size); } }; // runtime contribution 18.70%
相关文章推荐
- leetcode 23:Merge k Sorted Lists
- 【leetcode】【单链表,vector,queue】【23】Merge k Sorted Lists
- leetcode-23-Merge k Sorted Lists
- Leetcode 23.Merge Two Sorted Lists Merge K Sorted Lists
- [Leetcode] #23 Merge k Sorted Lists
- LeetCode - 23. Merge k Sorted Lists
- [LeetCode]23. Merge k Sorted Lists
- LeetCodet题解--23. Merge k Sorted Lists(合并K个已排序的链表)
- leetcode23 -- Merge k Sorted Lists
- [Leetcode] 23. Merge k Sorted Lists
- 【leetcode】【单链表,vector,queue】【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 解题与思考
- [leetcode 23]Merge k Sorted Lists
- leetcode (23) - Merge k Sorted Lists
- [leetcode] 23. Merge k Sorted Lists 解题报告
- leetcode-23. Merge k Sorted Lists