两次递归

树的子结构

http://www.nowcoder.com/questionTerminal/6e196c44c7004d15b1610b9afca8bd88

class Solution:
    def HasSubtree(self, s, t):
        def sametree(p,q):
            if p is None and q is None:
                return True
            elif p is not None and q is not None and p.val==q.val:
                return sametree(p.left,q.left) and sametree(p.right,q.right)
            elif p is not None and q is None:
                return True
            else:
                return False
        def subtree(s,t):
            if s is None or t is None:return False
            if sametree(s,t):
                return True
            return subtree(s.left,t) or subtree(s.right,t)
        return subtree(s,t)

两次递归

全部评论

相关推荐

昨天 20:41
已编辑
北京交通大学 算法工程师
字节跳动 训练框架研发 (N+2) * (12 + 3) 硕士211
点赞 评论 收藏
分享
牛客77743221...:做一段时间,公司出钱送你去缅甸和泰国旅游
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

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