572. 另一个树的子树

参考链接
t是s的子树有三种情况:
- t 和 s相等(t和s的根值相等,t的左子树与s的左子树相等且t的右子树与s的右子树相等)
- t 在s 的左子树里面
- 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)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
