树的子结构

image.png

题目分析

若树 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);
    4. image.png

题解

image.png

解题模板

image.png


Loccy
4 声望1 粉丝