You are given an array of `k` linked-lists `lists`, each linked-list is sorted in ascending order. Merge all the linked-lists into one sorted linked-list and return it. **Example 1:** Input: `lists = [[1,4,5],[1,3,4],[2,6]]` Output: `[1,1,2,3,4,4,5,6]` **Example 2:** Input: `lists = []` Output: `[]` **Example 3:** Input: `lists = [[]]` Output: `[]`
Divide and Conquer
Take pairs of linked lists and merge them two at a time using a standard merge algorithm. Repeat this process until only 1 list remains.