#coding:utf-8
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param root1 TreeNode类
# @param root2 TreeNode类
# @return bool布尔型
#
class Solution:
def isContains(self , root1 , root2 ):
# write code here
ret = False
#init
if root1 == None:
return False
ret_node = self.compareTrees(root1, root2)
ret_left = self.isContains(root1.left, root2)
ret_right = self.isContains(root1.right, root2)
return ret_node or ret_left or ret_right
def compareTrees(self, root1, root2):
if root1 == None and root2 == None:
return True
if root1 == None or root2 == None:
return False
if root1.val != root2.val:
return False
ret1 = self.compareTrees(root1.left, root2.left)
ret2 = self.compareTrees(root1.right, root2.right)
return ret1 and ret2
#方法二:先序遍历