/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public boolean isSubStructure(TreeNode A, TreeNode B) {
if(A == null || B == null) return false;
return DFS(A,B) || isSubStructure(A.left,B) || isSubStructure(A.right,B);
}
Boolean DFS(TreeNode A, TreeNode B){
if(B == null) return true;
if(A == null) return false;
if(A.val != B.val) return false;
return (A.val == B.val)&&DFS(A.left,B.left)&&DFS(A.right,B.right);
}
}
【2021秋冬】【剑指offer】26. 树的子结构
最新推荐文章于 2022-03-04 09:32:59 发布
本文介绍了一种通过深度优先搜索(DFS)算法来判断一棵二叉树是否为另一棵二叉树的子结构的方法。具体实现中,我们定义了两个主要函数:isSubStructure用于检查B是否为A的子树;DFS用于递归地比较两棵树的节点是否相同。

303

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



