100. Same Tree
题目描述和难度
- 题目描述:给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
- 题目难度:简单。
- 英文网址:100. Same Tree 。
- 中文网址:100. 相同的树 。
思路分析
求解关键:非常简答的一个问题,几乎不加思索就可以完成,注意讨论结点是否为空的特殊情况就好了。
参考解答
参考解答1
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) {
val = x;
}
}
public class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
// 先处理最特殊的情况,都为空结点的时候
if (p == null && q == null) {
return true;
}
// 走到这里说明两个结点都同时不为空,那么其中之一为空,或者两个结点的值不相等的时候,返回 false
if (p == null || q == null || p.val != q.val) {
return false;
}
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
}
}