In the **Leetcode Merge k Sorted Lists problem solution in Python programming** Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.

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]**Explanation: The linked lists** are:

[

1->4->5,

1->3->4,

2->6

]

merging them into one sorted list:

1->1->2->3->4->4->5->6

**Constraints:**

- k == lists.length
- 0 <= k <= 104
- 0 <= lists[i].length <= 500
- -104 <= lists[i][j] <= 104
- lists[i] is sorted in ascending order.
- The sum of lists[i].length will not exceed 104.

**Leetcode Merge k Sorted Lists problem solution in Python programming**

```
class Solution(object):
def mergeKLists(self, lists):
def merge2(l1, l2):
dummy = tail = ListNode()
while l1 and l2:
if l1.val <= l2.val:
tail.next = l1
l1 = l1.next
else:
tail.next = l2
l2 = l2.next
tail = tail.next
tail.next = l1 or l2
return dummy.next
def merge_k_rec(l, h):
if h - l <= 2:
return merge2(lists[l], lists[h - 1] if h - 1 > l else None)
mid = (l + h) // 2
return merge2(merge_k_rec(l, mid), merge_k_rec(mid, h))
if not lists: return None
return merge_k_rec(0, len(lists))
```

**Also read,**

- Leetcode Merge k Sorted Lists problem solution in C++
- Leetcode Merge k Sorted Lists problem solution in Java
- Leetcode Merge k Sorted Lists problem solution in C
- Leetcode Merge k Sorted Lists problem solution in C#