您的位置:首页 > 编程语言 > Java开发

如何判断二叉树是否是结构性对称的?

2015-09-14 20:46 543 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">判断二叉树是否是结构性对称的,其实思想是很简单的:</span>
通过分别相对应的位置的节点是否对称存在即可,即相应的位置上同时存在或者同时不存在都是对称的。否则不对称

Java程序实现的代码如下:

public boolean isSymmetrical(Node root){
if(root==null) return true;
return isCheck(root.right,root.left);
}
private boolean isCheck(Node left,Node right){
if(left==null&&right==null) return true;
if(left==null||right==null) return false;
return isCheck(left.left, right.right)&&isCheck(left.right, right.left);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息