树的子结构

题目剖析

若树 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);

题解

解题模板