题解 | #合并二叉树#

合并二叉树

http://www.nowcoder.com/practice/7298353c24cc42e3bd5f0e0bd3d1d759

NC117 合并二叉树 描述 已知两颗二叉树,将它们合并成一颗二叉树。合并规则是:都存在的结点,就将结点值加起来,否则空的位置就由另一个树的结点来代替。

数据范围:树上节点数量满足 0≤n≤500,树上节点的值一定在32位整型范围内。 进阶:空间复杂度 O(1) ,时间复杂度 O(n)

思路:递归,目前遇到的二叉树的题真的特别简单,几分钟就可以编写代码通过的简单。就是根节点和根节点合并,左右子节点合并后,成为合并后的根节点的左右子节点。就这么简单。

# 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:
        # write code here
        if t1 == None:
            return t2
        elif t2 == None:
            return t1
        else:
            t1.val += t2.val
        t1.left = self.mergeTrees(t1.left,t2.left)
        t1.right = self.mergeTrees(t1.right, t2.right)
        return t1
全部评论
大佬,我有一点看不懂题目,能解释一下吗?为什么直接这样不对呢? t3 = TreeNode(0) t3.val = t1.val+t2.val t3.left = t1.left+t2.left t3.right = t1.right+t2.right 感谢大佬
1
送花
回复
分享
发布于 2021-12-31 10:33

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务