572. 另一个树的子树

在这里插入图片描述
参考链接
t是s的子树有三种情况:

  1. t 和 s相等(t和s的根值相等,t的左子树与s的左子树相等且t的右子树与s的右子树相等)
  2. t 在s 的左子树里面
  3. t在s 的右子树里面
class TreeNode:def __init__(self, val=0, left=None, right=None):self.val = valself.left = leftself.right = right
def is_same(s,t):# 判断两个树是否相等if (not s and not t): return True# 二者都为空if not ( s and t): return False # 二者一个为空,另一个不为空return s.val == t.val and is_same(s.left,t.left) and is_same(s.right,t.right)class Solution:def isSubtree(self, s: TreeNode, t: TreeNode) -> bool:if (not s and not t): return Trueif (not s and t): return Falsereturn is_same(s,t) or self.isSubtree(s.left,t) or self.isSubtree(s.right,t)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部