020 · Same Tree
algorithm
Problem
给定两棵二叉树的根节点 p 和 q。
请判断这两棵二叉树是否相同。
两棵二叉树相同,需要同时满足:
- 它们的结构完全一样
- 对应位置上的节点值也完全一样
也就是说,只比较节点值是不够的;如果节点的位置不同,或者一棵树有节点而另一棵树没有节点,它们都不算相同。
例如,下面两棵树是相同的:
1 1
/ \ / \
2 3 2 3
它们的结构一样,并且每个对应节点的值都一样。
下面两棵树不是相同的:
1 1
/ \
2 2
虽然节点值都是 1 和 2,但 2 在第一棵树的左边,在第二棵树的右边,所以结构不同。
Examples
示例 1
Input: p = [1,2,3], q = [1,2,3]
Output: true
解释:两棵树的结构相同,对应节点的值也相同。
示例 2
Input: p = [1,2], q = [1,null,2]
Output: false
解释:两棵树都包含节点 1 和 2,但节点 2 的位置不同,所以不是相同的树。
示例 3
Input: p = [1,2,1], q = [1,1,2]
Output: false
解释:两棵树的结构相同,但左右子节点的值不同。
Constraints
- 两棵树中的节点数量范围都是 \([0, 100]\)
- \(-10^4 \leq\)
Node.val\(\leq 10^4\)
Link
→ Solution