Tree Sub Structure 树的子结构
给2棵二叉树
A,B,判断B是不是A的子结构。(空不是任何的子结构)
B是A的子结构,说明A中有和B相同的结构和节点
A = [3,4,5,1,2], B = [4,1]
true
思路
对树的左右子树做递归匹配
递归
public boolean isMatch(TreeNode A, TreeNode B){
if(A==null ){
return false;
}
if( B==null){
return false;
}
return A.val ==B.val&& isMatch(A.left,B.left)&&isMatch(A.left,B.left);
}
public boolean isSubStructure(TreeNode A, TreeNode B){
if(A==null ){
return false;
}
if( B==null){
return false;
}
if(A.val == B.val&&isMatch(A,B)){
return true;
}
return isSubStructure(A.left,B)||isSubStructure(A.right,B);
}
Tag
tree