572. Subtree of Another Tree (Easy) - TengnanYao/daily_leetcode GitHub Wiki

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):
    def isSubtree(self, s, t):
        """
        :type s: TreeNode
        :type t: TreeNode
        :rtype: bool
        """
        def isSame(s, t):
            if not s and not t:
                return True
            if not s or not t:
                return False
            if s.val != t.val:
                return False
            return isSame(s.left, t.left) and isSame(s.right, t.right)
        if not s:
            return False
        return isSame(s, t) or self.isSubtree(s.left, t) or self.isSubtree(s.right,t)