#4640. 另一棵树的子树

另一棵树的子树

本题目使用deepseek生成的std、generatorvalidator脚本,并用测评数据脚本生成测评数据,欢迎大家来测试AI靠不靠谱。

题目描述

给你两棵二叉树 rootrootsubRootsubRoot 。检验 rootroot 中是否包含和 subRootsubRoot 具有相同结构和节点值的子树。如果存在,返回 truetrue ;否则,返回 falsefalse

二叉树 treetree 的一棵子树包括 treetree 的某个节点和这个节点的所有后代节点。treetree 也可以看做它自身的一棵子树。

注:每棵树的根节点为 1。

输入格式

输入数据树的格式为完全二叉树的数组表示方式,如:1为根点,则数组下标 2 为 节点1的左儿子,3为节点1的右儿子。 如果没有此节点,则权值显示为 10001,如果最后一个节点后面都没有其他结点,则权值将不再给出 10001。

第一行有两个空格隔开的整数表示 rootrootsubRootsubRoot 的节点数 nn, mm

接下来一行空格隔开的整数表示 rootroot 完全二叉树形式数组节点的权值。

接下来一行空格隔开的整数表示 subRootsubRoot 完全二叉树形式数组节点的权值。

输出格式

一行一个字符串 truefalse 表示答案。

样例

示例 1:

5 3
3 4 5 1 2
4 1 2
true

示例 2:

10 3
3 4 5 1 2 10001 10001 10001 10001 0
4 1 2
false

提示:

  • rootroot 树上的节点数量范围是 [1,2000][1, 2000]
  • subRootsubRoot 树上的节点数量范围是 [1,1000][1, 1000]
  • 104<=root.val<=104-10^4 <= root.val <= 10^4
  • 104<=subRoot.val<=104-10^4 <= subRoot.val <= 10^4

SOURCE

572. 另一棵树的子树