版权声明:本文章为原创文章,未经允许不得转载 https://blog.csdn.net/sinat_41815248/article/details/85307805
100.相同的树
分析与解题
如果两个二叉树相同,那么两个二叉树的节点值肯定都要相同。从根节点一直到最后一个子节点,出现一个不相同的值,那么两个二叉树就不是相同的。当一个二叉树从根节点、左子节点、右子节点依次向下延伸的时候,每次获取到他们的值,然后再进行比较,如果相同,则继续找下一点节点进行比较,直到所有节点比较完。
每次进入下一个循环判断的时候,当前节点都是一个新的二叉树,可能是根节点,也可能是拥有子节点,所以我们可以借助递归的方法来解题。
class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
if(p==null&&q==null) {
return true;
}else if(p==null||q==null||p.val!= q.val){
return false;
} else{
return isSameTree(p.left, q.left) & isSameTree(p.right,q.right);
}
}
```