题解 | #合并二叉树#

合并二叉树

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

题目中是对两颗二叉树的每个结点进行值得合并,最终返回根节点,则以根节点开始,从上至下递归得出每个结点的左子结点和右子结点的值即可
代码:

class Solution:
    def mergeTrees(self , t1 , t2 ):
        # write code here
        if not t1 and not t2:
            return None
        if not t1 and t2:
            root = TreeNode(t2.val)
            root.left = self.mergeTrees(None, t2.left)
            root.right = self.mergeTrees(None, t2.right)
        if t1 and not t2:
            root = TreeNode(t1.val)
            root.left = self.mergeTrees(t1.left, None)
            root.right = self.mergeTrees(t1.right, None)
        elif t1 and t2:
            root = TreeNode(t1.val +t2.val)
            root.left = self.mergeTrees(t1.left, t2.left)    
            root.right = self.mergeTrees(t1.right, t2.right)
        return root
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 11:20
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务