public class SymmetricalBinaryTree {
/**
* 对称的二叉树
* <p>
* 判断二叉树是否对称的,需要定义一个新前序遍历方案,从右节点开始遍历;看是否和左前序遍历相同
* 要考虑为null的子节点,因为有可能二叉树全部的值都是相同的,但也不是对称二叉树。
*/
public static boolean isSymmetrical(TreeNode node) {
return isSymmetrical(node, node);
}
public static boolean isSymmetrical(TreeNode node1, TreeNode node2) {
if (node1 == null && node2 == null) return true;
if (node1 == null || node2 == null) return false;
if (node1.value != node2.value) return false;
return isSymmetrical(node1.leftNode, node2.rightNode) &&
isSymmetrical(node1.rightNode, node2.leftNode);
}
}
对称的二叉树-Java
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 101. 对称二叉树 描述 给定一个二叉树,检查它是否是镜像对称的。 示例 说明 思路 类比两个相等的二叉树,两个...
- 这是组合设计模式。我有很多个(假设10万个)数据要保存起来,以后还需要从保存的这些数据中检索是否存在某个数据,(我...
- 正文之前 重温算法,今天看了下《算法导论》,二叉搜索树的内容,总算没有以前看的时候的那种晦涩感了。。。明天继续加油...