树的子结构

微信图片_20191227151204.jpg
class Solution:
    def isEqual(self, pRoot1, pRoot2):
        if pRoot2 is None:
            return True
        if pRoot1 is None:
            return False
        if pRoot1.val == pRoot2.val:
            ret1 = self.isEqual(pRoot1.left, pRoot2.left)
            ret2 = self.isEqual(pRoot1.right, pRoot2.right)
        else:
            return False
        return ret1 and ret2
    
    def HasSubtree(self, pRoot1, pRoot2):
        # write code here
        if pRoot1 is None or pRoot2 is None:
            return False
        if pRoot1.val == pRoot2.val:
            ret = self.isEqual(pRoot1, pRoot2)
            if ret:
                return True
        ret = self.HasSubtree(pRoot1.left, pRoot2)
        if ret:
            return True
        ret = self.HasSubtree(pRoot1.right, pRoot2)
        return ret
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容