使用递归判断root,root->left, root->right
同时比较对象相同要注意,不能使用“=”,需要覆盖Object.equals()方法,
同时比较对象相同要注意,不能使用“=”,需要覆盖Object.equals()方法,
public class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
if(!equals(p, q)) return false;
//identical judgement
if(p == null && q == null) return true;
else {
if(isSameTree(p.left, q.left) && isSameTree(p.right, q.right))
return true;
else
return false;
}
}
public boolean equals(TreeNode p, TreeNode q){
if(p == null){
if(q == null) return true;
else return false;
} else{
//if(q == null) return false;
if(q != null && p.val == q.val) return true;
else return false;
}
}
}
本文介绍了一种通过递归方法来判断两棵二叉树是否完全相同的算法实现。主要思路是比较当前节点值是否相等,并进一步递归比较左右子树。文章提供了具体的Java代码示例。
4159

被折叠的 条评论
为什么被折叠?



