Leetcode 100 相同的树
- 给定根节点,比较两棵树是否相同
- 重点:
- 先比较当前节点(根节点)是否
相同: 都不存在 or 都存在且值相同
根节点不同,直接返回false
- 根节点相同,向下递归判断左右子节点是否相同,
返回值为: 左右子节点是否都相同
- 实现: 递归
class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
//不同时存在
if((p==null && q!=null) || (p!=null && q==null))
return false;
//都存在但值不相同
else if(p!=null && q!=null) {
if(p.val != q.val) return false;
}
//都不存在
else return true;
//比较子节点
boolean leftTree = isSameTree(p.left, q.left);
boolean rightTree = isSameTree(p.right, q.right);
return leftTree && rightTree;
}
}