class Solution:
    def HasSubtree(self, s, t):
        def sametree(p,q):
            if p is None and q is None:
                return True
            elif p is not None and q is not None and p.val==q.val:
                return sametree(p.left,q.left) and sametree(p.right,q.right)
            elif p is not None and q is None:
                return True
            else:
                return False
        def subtree(s,t):
            if s is None or t is None:return False
            if sametree(s,t):
                return True
            return subtree(s.left,t) or subtree(s.right,t)
        return subtree(s,t)

两次递归