题目描述
给定两棵二叉树 和 ,请判断 中是否包含一棵与 完全相同的子树。
二叉树的一棵子树由某个节点以及这个节点的全部后代组成。两棵树完全相同,要求它们的结构相同,并且所有对应节点的值也相同。
输入格式
输入依次给出两棵二叉树。每棵树都使用下面的格式:
- 第一行一个整数 ,表示节点数; 表示空树。
- 当 时,下一行包含 个整数 ,表示各节点保存的值。
- 接下来 行,第 行包含节点 的左、右孩子编号 ,编号 表示相应孩子不存在。
非空树的节点编号为 到 ,根节点编号为 。输入保证两组数据都构成合法二叉树。
输出格式
如果 是 的子树,输出 true;否则输出 false。
5
29 -2 28 -17 -14
0 2
3 4
5 0
0 0
0 0
5
29 -2 28 -17 -14
0 2
3 4
5 0
0 0
0 0
true
2
-29 19
0 2
0 0
2
-99 -62
0 2
0 0
false
1
8
0 0
1
8
0 0
true
数据范围与约定
- root 树上的节点数量范围是 [1, 2000]
- subRoot 树上的节点数量范围是 [1, 1000]
- ≤ root.val ≤
- ≤ subRoot.val ≤