题解 | #合并二叉树#
合并二叉树
https://www.nowcoder.com/practice/7298353c24cc42e3bd5f0e0bd3d1d759
# class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param t1 TreeNode类 # @param t2 TreeNode类 # @return TreeNode类 # # 每次把两棵树的左子树和右子树合并,并返回根节点 # 需要判断左子节点和右子节点是否存在 class Solution: def mergeTrees(self , t1: TreeNode, t2: TreeNode) -> TreeNode: def merge(r1, r2): if r1 and r2: r1.val += r2.val elif not r1 and r2: return r2 elif not r1 and not r2: return None if not r1.right: if r2.right: r1.right = r2.right else: if r2.right: r1.right = merge(r1.right, r2.right) if not r1.left: if r2.left: r1.left = r2.left else: if r2.left: r1.left = merge(r1.left, r2.left) return r1 return merge(t1, t2)