美文网首页
2019-08-23 剑指 树的子结构

2019-08-23 剑指 树的子结构

作者: mztkenan | 来源:发表于2019-08-23 19:45 被阅读0次

40min,自信满满。。。

class Solution:
    def HasSubtree(self, pRoot1:TreeNode, pRoot2:TreeNode):
        if not pRoot2 or not pRoot1:return False
        # if pRoot2.val==pRoot1.val:
        #     if self.isSame(pRoot1,pRoot2):return True
        # else:  # 看了半天答案和别人一样,最终发现是这里else的错误。如果第一个节点一样,那就不会再往下判断了。。。
        #     if self.HasSubtree(pRoot1.left,pRoot2):return True
        #     if self.HasSubtree(pRoot1.right,pRoot2):return True
        # return False
        return self.isSame(pRoot1, pRoot2) or self.HasSubtree(pRoot1.left,pRoot2) or self.HasSubtree(pRoot1.right,pRoot2)

    def isSame(self,parent:TreeNode,child:TreeNode): #这里注意parent会比child大
        if not child:return True# if not parent and not child:return True 
        if not parent:return False# if not parent or not child:return False
        if parent.val!=child.val:return False
        return self.isSame(parent.left,child.left) and self.isSame(parent.right,child.right)

相关文章

  • 2019-08-23 剑指 树的子结构

    40min,自信满满。。。

  • [剑指offer] 树的子结构

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题思路 递...

  • 【剑指26】树的子结构

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 分析

  • 【剑指 offer】树的子结构。

    1、题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。 我们规定空树不是任何树的子结构。 样例树A8/ \...

  • 剑指offer——树的子结构

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构).

  • 剑指offer - 树的子结构

    题目 输入两棵二叉树A和B,判断B是不是A的子结构。二叉树节点的定义如下: 下图中的二棵二叉树,由于A中有一部分子...

  • [剑指Offer]树的子结构

    本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/03...

  • 2022-04-30

    剑指 Offer 26. 树的子结构[https://leetcode.cn/problems/shu-de-zi...

  • 【剑指Offer】017——树的子结构(树)

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题思路 要...

  • 剑指offer----树的子结构

    题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 代码: isSu...

网友评论

      本文标题:2019-08-23 剑指 树的子结构

      本文链接:https://www.haomeiwen.com/subject/tetxectx.html