乐趣区

关于java:offer-26-树的子结构

树的子结构

题目剖析

若树 B 是树 A 的子结构,则子结构的根节点必然为树 A 的一个节点。

  • 首先应该先序遍历树 A 中的每个节点 nA
  • 而后判断以 nA 为根节点 的子树是不是蕴含 B
  • 若树 B 是树 A 的子结构,则必满足以下三种状况之一,因而用或 || 连贯;

    1. 以 节点 A 为根节点的子树 蕴含树 B,对应 isA(A, B);
    2. 树 B 是 树 A 左子树 的子结构,对应 isSubStructure(A.left, B);
    3. 树 B 是 树 A 右子树 的子结构,对应 isSubStructure(A.right, B);

题解

解题模板

退出移动版