1、根节点相同,判断根树是否包含子结构。
2、根节点不同,判断左右子树中是否包含子结构。
注意:3种情况只要有一种返回true即可。

class Solution:
    def HasSubtree(self, pRoot1, pRoot2):
        if not pRoot1 or not pRoot2:
            return False
        return bool(pRoot1 and pRoot2) and (self.recur(pRoot1, pRoot2))or self.HasSubtree(pRoot1.left, pRoot2) or self.HasSubtree(pRoot1.right, pRoot2)

    def recur(self, root1, root2):  # 根节点相同了,判断是否子结构
        if not root2:    return True
        if not root1 or root1.val != root2.val:     return False
        return self.recur(root1.left, root2.left) and self.recur(root1.right, root2.right)