如何判断二叉树是否是结构性对称的?
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);
}
通过分别相对应的位置的节点是否对称存在即可,即相应的位置上同时存在或者同时不存在都是对称的。否则不对称
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);
}
相关文章推荐
- java_单列集合复习
- java中this关键字的用法
- Java实现中文算数验证码(算数运算+-*/)
- java基础 iterator
- java学习之正则表达式
- MyEclipse不能编译的解决方案
- Java Unit Testing - JUnit & TestNG
- Java基础知识记录
- java io流的一部分解析
- JAVA String 不可变对象
- java 模拟多个客户端与服务器建立UDP连接
- Java习题4—IO流与异常
- Java生成双击可执行的jar包
- 可以增删改查数组的Java类
- MyEclipse如何修改字符集为UTF8
- 命令符运行Java文档
- Java 性能优化系列之4[Java性能调优工具]
- Java中什么时候使用构造方法
- Java中的基本数据类型
- Spring下面的@Transactional注解标志的讲解