1.题目
2.思路
递归,发现不同一直返回false,相则继续验证
3.代码实现
class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
boolean flag = true;
if(p == null && q != null)
return false;
else if(p != null && q == null)
return false;
else if(p == null && q == null)
return true;
if(p.val != q.val)
flag = false;
else
flag = true;
if(!isSameTree(p.left, q.left))
return false;
if(!isSameTree(p.right, q.right))
return false;
return flag;
}
}
4.代码简化
public boolean isSameTree(TreeNode p, TreeNode q) {
if(p==null && q==null){
return true;
}
if(p!=null && q!=null && p.val==q.val ){
return isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
}else {
return false;
}
}