题解 | #对称的二叉树#
对称的二叉树
http://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb
使用递归的方式,如果是镜像树,左子树和右子树节点值相同,且左子树的左节点与右子树的右节点相等,左子树的右节点和右子树的左节点相等。
boolean isSymmetrical(TreeNode pRoot) {
if(pRoot==null){
return false;
}
return Symmerical(pRoot.left,pRoot.right);
}
public boolean Symmerical(TreeNode Lroot,TreeNode Rroot){
if(Lroot!=null&&Rroot!=null){
if(Lroot.val==Rroot.val){
return Symmerical(Lroot.left,Rroot.right)&&Symmerical(Lroot.right,Rroot.left);
}
//不为空但是值不相等情况
else{
return false;
}
}
//其中一个节点为空
else if(Lroot!=null&&Rroot==null||Rroot!=null&&Lroot==null){
return false;
}
return true;
}
}