一,题目描述
给定一个二叉树,检查它是否是镜像对称的。
示例1:
返回:true
示例2:
返回:false
二,代码实现
1,思路:
解决这个问题我们还是依靠递归思想,判断一棵树是否镜像,就要判断它的左右子树对应节点位置结点是否相同。
如果这棵树的左右子树对称节点是镜像对称则这棵树也是对称树。
2,代码:
public boolean isSymmetric(TreeNode root){ if(root == null){ //如果是空树就返回false return false; } //判断左右子树对称节点是否为镜像对称 return isMirror(root.left,root.right); }private boolean isMirror(TreeNode t1, TreeNode t2) { if(t1 == null && t2 == null){ return true; } if(t1 == null || t2 == null){ //两者一个为空一个非空即返回 return false; } 语言 方法
6065 o368RUNI2O
20yN2
陈梦儿1554 2012/12/11 12:59:43
if(t1.val != t2.val ){ //如果两个对称节点值不同也不是镜像对称了 return false; } return isMirror(t1.left,t2.right)&& isMirror(t1.right,t2.left); //递归判断左右子树对称节点是否为镜像对称}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。