刷題系列 - 合併兩個順序佇列為一個新的佇列

張國平發表於2020-02-26

很簡單的一題,就是為了記錄。合併兩個順序佇列為一個新的佇列,並確保順序。示例如下

Input: 1->2->4, 1->3->4

Output: 1->1->2->3->4->4


解題很簡單,遞迴對比即可。

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
        if l1 == None and l2 == None:
            return None
        elif l1 == None and l2 != None:
            return l2
        elif l1 != None and l2 == None:
            return l1
        else:
            if l1.val <= l2.val:
                l1.next  = self.mergeTwoLists(l1.next ,l2)
                return l1
            else:
                l2.next = self.mergeTwoLists(l1,l2.next )
                return l2



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22259926/viewspace-2677382/,如需轉載,請註明出處,否則將追究法律責任。

相關文章