# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def check(self,pRoot1, pRoot2):
if not pRoot2:
return True
elif not pRoot1:
return False
elif pRoot1.val!=pRoot2.val:
return False
else :
resL=self.check(pRoot1.left,pRoot2.left)
if resL==True:
resR=self.check(pRoot1.right, pRoot2.right)
return resR
else:
return False
def HasSubtree(self, pRoot1, pRoot2):
# write code here
if not pRoot2: return False
elif not pRoot1: return False
cur_check=self.check(pRoot1, pRoot2)
if cur_check==True:
return True
else:
L_check=self.HasSubtree(pRoot1.left, pRoot2)
if L_check==True:
return True
else:
R_check=self.HasSubtree(pRoot1.right, pRoot2)
return R_check