Merge k Sorted Lists
注意审题,题目中是listnode链表,不是list
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def mergeTwoList(self, l1, l2): dummy = ListNode(0) tmp = dummy while l1 != None and l2 != None: if l1.val < l2.val: tmp.next = l1 l1 = l1.next else: tmp.next = l2 l2 = l2.next tmp = tmp.next if l1 != None: tmp.next = l1 else: tmp.next = l2 return dummy.next def helper(self, start, end, lists): if start == end: return lists[start] mid = (start + end) // 2 return self.mergeTwoList(self.helper(start, mid, lists), self.helper(mid + 1, end, lists)) def mergeKLists(self, lists): """ :type lists: List[ListNode] :rtype: ListNode """ if len(lists) == 0: return [] return self.helper(0, len(lists) - 1, lists)

浙公网安备 33010602011771号