剑指offer系列之57:对称二叉树的判断
来源:互联网 发布:网络电视盒能收多少台 编辑:程序博客网 时间:2024/06/05 21:12
问题描述:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
思路:前面有一题是打印输出某二叉树的镜像,回想其实现的思路是:采用层序遍历的思路对每一个遍历的节点,如果其有孩子节点,那么就交换两者。直到遍历的节点没有孩子节点为止,然而此题是对二叉树木镜像的判断,明显是更简单的,只需要进行两个判断:对节点的左孩子与其兄弟节点右孩子的判断以及对节点右孩子与其兄弟节点左孩子的判断。这样就完成对对一棵二叉树是否对称的判断。
/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Solution { boolean isSymmetrical(TreeNode pRoot){ if(pRoot == null){ return true; } return isSymmetricalCore(pRoot.left, pRoot.right); } private boolean isSymmetricalCore(TreeNode left,TreeNode right){ if(left == null && right == null){ return true; } if(left == null || right ==null){ return false; } if (left.val == right.val) return isSymmetricalCore(left.right, right.left) && isSymmetricalCore(left.left, right.right); return false; }}
0 0
- 剑指offer系列之57:对称二叉树的判断
- 剑指offer系列之五十六:对称二叉树的判断
- 剑指offer-判断二叉树是否对称
- 剑指offer题解 判断是否是对称的二叉树
- 剑指offer——对称的二叉树判断
- 【剑指offer】判断是否是对称的二叉树
- 【剑指offer-解题系列(59)】对称的二叉树
- 剑指offer(五十二)之对称的二叉树
- 剑指offer--对称的二叉树
- 剑指offer 59 - 对称的二叉树
- 《剑指offer》对称的二叉树
- 剑指offer-对称的二叉树
- 剑指offer—对称的二叉树
- 剑指offer:对称的二叉树
- 剑指offer:对称的二叉树
- [剑指offer]对称的二叉树
- 剑指Offer--059-对称的二叉树
- 《剑指offer》:[59]对称的二叉树
- finished with non-zero exit value 1
- Tricks(三十五)—— 内积的极简实现
- 字符串KMP小结
- iOS 8 Auto Layout界面自动布局系列3-使用代码添加布局约束
- javaScript对象基础
- 剑指offer系列之57:对称二叉树的判断
- 关于SVM一篇比较全介绍的博文
- AR资料汇总
- 构造器与垃圾回收器
- left join on 和where条件的放置
- Android官方MVP架构示例项目解析
- 现代C++
- 写了 35 年代码的老程序员的最大遗憾
- Android应用程序文件组成