题目描述
给定彼此独立的两棵二叉树,判断 t1 树是否有与 t2 树拓扑结构完全相同的子树。
设 t1 树的边集为 E1,t2 树的边集为 E2,若 E2 等于 E1 ,则表示 t1 树和t2 树的拓扑结构完全相同。
示例1
输入:
{1,2,3,4,5,6,7,#,8,9},{2,4,5,#,8,9}
返回值:
true
代码
public boolean isContains (TreeNode root1, TreeNode root2) {
// write code here
if(root1==null){
return false;
}
return isContains(root1.left,root2) || isContains(root1.right,root2) || isSubTree(root1,root2);
}
public boolean isSubTree(TreeNode root1,TreeNode root2){
if(root1==null && root2==null){
return true;
}
if(root1==null || root2==null || root1.val!=root2.val){
return false;
}
return isSubTree(root1.left,root2.left) && isSubTree(root1.right,root2.right);
}