2016 - 2024

感恩一路有你

Java如何判断二叉树是否是对称二叉树

浏览量:4870 时间:2024-06-16 12:36:21 作者:采采

题目:给定一个二叉树,检查它是否是镜像对称的。本篇经验将分享如何通过递归调用的方式实现这个算法,关于什么是对称二叉树,可以参考如下图片的示例。

编写代码,递归调用判断两棵树是否是对称相同的二叉树

图1示:通过内部类类声明二叉树节点类

图2示:判断两棵树是否是对称相同,通过观察可以得知条件为:根节点相同,并且一个树的左子树和另一棵树的右子树相同(递归判断)。

调用上述方法,判断一棵树是否是对称二叉树

图示:如果参数为空,则直接返回 true,如果不为空,则调用上述方法来判断其是否是对称二叉树,参数为其左右子树(即当左右子树对称相同,则其为一棵对称二叉树)。

编写代码,中序遍历,输出二叉树

图示:通过递归调用,中序遍历输出二叉树,当遇到空节点,则输出 None。

编写测试代码

图示:在主方法中,构建两棵树,前者是一棵对称二叉树,后者不是一棵对称二叉树,调用上述方法,让算法进行判断,并在控制台打印结果。

运行测试代码

图示:运行主方法,观察控制台输出,输出符合预期。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。