首页 > 其他 > 详细

leetcode-572-另一个树的子树

时间:2020-05-07 16:26:13      阅读:51      评论:0      收藏:0      [点我收藏+]

题目描述:

技术分享图片

 

 方法一:DFS枚举 O(s*t)  O(max(ds,dt)   d代表深度

class Solution:
    def isSubtree(self, s: TreeNode, t: TreeNode) -> bool:
        def isSameTree(s, t):
            if not s and not t:
                return True
            if not s or not t:
                return False
            return s.val == t.val and isSameTree(s.left, t.left) and isSameTree(s.right, t.right)

        if not s and not t:
            return True
        if not s or not t:
            return False
        return isSameTree(s, t) or self.isSubtree(s.left, t) or self.isSubtree(s.right, t)

方法二:dfs转序列 + 判断子串算法(kmp等)O(s+t)

 

leetcode-572-另一个树的子树

原文:https://www.cnblogs.com/oldby/p/12843735.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!