题解 | #二叉#判断t1树中是否有与t2树完全相同的子树#
判断t1树中是否有与t2树完全相同的子树
https://www.nowcoder.com/practice/4eaccec5ee8f4fe8a4309463b807a542
#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 #方法二:先序遍历