# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def HasSubtree(self, pRoot1, pRoot2):
# write code here
if not pRoot1 or not pRoot2:
return False
def hasequal(pRoot1, pRoot2):
if pRoot2 == None:
return True
if pRoot1 == None:
return False
if pRoot1.val == pRoot2.val:
if pRoot2.left == None:
leftNode = True
else:
leftNode = hasequal(pRoot1.left, pRoot2.left)
if pRoot2.right == None:
rightNone = True
else:
rightNone = hasequal(pRoot1.right, pRoot2.right)
return rightNone and leftNode
return False
if pRoot1.val == pRoot2.val:
ret = hasequal(pRoot1, pRoot2)
if ret:
return True
ret = self.HasSubtree(pRoot1.left, pRoot2)
if ret:
return True
ret = self.HasSubtree(pRoot1.right, pRoot2)
return ret