Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.
可以复用两个链表合并,每次合并两个,时间O(n1+n2+...),空间复杂度O(1)
//
// start: merge k sorted lists
ListNode *mergeKLists(vector<ListNode *> &lists)
{
if(lists.size() == 0)
return NULL;
ListNode *p = lists[0];
for(int i = 1; i < lists.size(); i++)
p = mergeTwoLists(p, list[i]); //
leetcode-21
return p;
}
// end
//