1. 程式人生 > >leetcode - 617 - 合併二叉樹

leetcode - 617 - 合併二叉樹

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def mergeTrees(self, t1, t2):
        """
        :type t1: TreeNode
        :type t2: TreeNode
        :rtype: TreeNode
        """
        # 結點都為空時
        if t1 is None and t2 is None:
            return
        # 只有一個結點為空時
        if t1 is None:
            return t2
        if t2 is None:
            return t1
        #兩棵樹對應的節點都存在時
        t1.val += t2.val
        # 遞迴
        t1.left = self.mergeTrees(t1.left, t2.left)
        t1.right = self.mergeTrees(t1.right, t2.right)
        
        return t1