对称二叉树
来源:互联网 发布:淘宝封号查询系统 编辑:程序博客网 时间:2024/06/07 21:43
题目
请实现一个函数来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。
解题思路
通常我们有三种不同的二叉树遍历算法,即前序遍历、中序遍历和后序遍历。在这三种遍历算法中,都是先遍历左子结点再遍历右子结点。可以定义一种遍历算法,先遍历右子结点再遍历左子结点.比如我们针对前序遍历定义一种对称的遍历算法,即先遍历父节点,再遍历它的右子结点,最后遍历它的左子结点。
我们发现可以用过比较二叉树的前序遍历序列和对称前序遍历序列来判断二叉树是不是对称的。如果两个序列一样,那么二叉树就是对称的。
boolean isSymmetrical(TreeNode pRoot){ if (pRoot==null) { return true; } return isSymmetrical(pRoot.left,pRoot.right); } public static boolean isSymmetrical(TreeNode left ,TreeNode right){ if (left == null && right == null) { return true; } if ((left != null && right == null)||(left==null && right!=null)) { return false; } if (left.val!=right.val) { return false; } return isSymmetrical(left.left, right.right) && isSymmetrical(left.right, right.left); }
0 0
- 二叉树------对称二叉树
- 二叉树-对称树
- 对称二叉树
- 对称的二叉树
- 对称二叉树
- 对称的二叉树
- 判断对称二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 二叉树是否对称
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 对称的二叉树
- 牛客网 替换空格
- 用PyQt5写的第一个程序(2)
- CXF实战
- 高内聚低耦合简单学习
- 递归算法实现字符串的逆序存储
- 对称二叉树
- PyQt5教程——菜单和工具栏(3)
- 面试--阻止编译优化方法 (46)
- Git远程操作详解
- js的案例
- Java学习笔记1
- 学Android--SharedPreferences
- PyQt5教程——布局管理(4)
- AngularJS—实现根据数量、单价计算总价效果