offer 26 树的子结构

树的子结构

image.png

题目分析

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

  • 首先应该先序遍历树A中的每一个节点nA
  • 而后判断以nA为根节点的子树是否是包含B
  • 若树 B是树 A的子结构,则必知足如下三种状况之一,所以用或 || 链接;it

    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