一、leetcode地址
https://leetcode.com/problems/merge-k-sorted-lists/
二、问题描述
三、代码实现
语言:Python3
代码:
class Solution:
def mergeKLists(self, lists: List[ListNode]) -> ListNode:
l = len(lists)
if l == 0:
return None
elif l == 1:
return lists[0]
elif l == 2:
return self.mergeTLists(lists[0],lists[1])
else:
return self.mergeTLists(self.mergeKLists(lists[:l//2]),self.mergeKLists(lists[l//2:]))
def mergeTLists(self,list1,list2):
if list1 == None:
return list2
if list2 == None:
return list1
if list1.val > list2.val:
list1,list2 = list2,list1
head = list1
res = self.mergeTLists(list1.next,list2)
head.next = res
return head