题目描述
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
递归每个节点,需要一个函数辅助
public boolean HasSubtree(TreeNode root1,TreeNode root2) {
if(root1 == null) return false;
return isSubTree(root1, root2) || HasSubtree(root1.left, root2) || HasSubtree(root1.right, root2);
}
public boolean isSubTree(TreeNode root1,TreeNode root2){
if(root2 == null) return true;
if(root1 == null) return false;
if(root1.val == root2.val) return isSubTree(root1.left, root2.left)
&& isSubTree(root1.right, root2.right);
return false;
}
本文介绍了一种算法,用于判断一棵二叉树是否为另一棵二叉树的子结构。通过递归方法实现,包括两个核心函数:HasSubtree 和 isSubTree。HasSubtree 函数用于遍历主树的所有节点,而 isSubTree 则检查当前节点是否匹配及后续子树结构。
959

被折叠的 条评论
为什么被折叠?



