树的子结构
题目剖析
若树 B 是树 A 的子结构,则子结构的根节点必然为树 A 的一个节点。
- 首先应该先序遍历树 A 中的每个节点 nA
- 而后判断以 nA 为根节点 的子树是不是蕴含 B
-
若树 B 是树 A 的子结构,则必满足以下三种状况之一,因而用或 || 连贯;
- 以 节点 A 为根节点的子树 蕴含树 B,对应 isA(A, B);
- 树 B 是 树 A 左子树 的子结构,对应 isSubStructure(A.left, B);
- 树 B 是 树 A 右子树 的子结构,对应 isSubStructure(A.right, B);
题解
解题模板