题目
给出两个二叉树s和t,判断t是否是s的子树。
Python题解
class Solution(object):
def isSubtree(self, s, t):
"""
:type s: TreeNode
:type t: TreeNode
:rtype: bool
"""
def isSameTree(s, t):
if s is None and t is None:
return True
if s is None or t is None:
return False
if s.val != t.val:
return False
return isSameTree(s.left, t.left) and isSameTree(s.right, t.right)
res = False
if s is not None:
if s.val == t.val:
res = isSameTree(s, t)
if not res:
res = self.isSubtree(s.left, t)
if not res:
res = self.isSubtree(s.right, t)
return res