Java如何判断二叉树是否是对称二叉树
浏览量:4870
时间:2024-06-16 12:36:21
作者:采采
题目:给定一个二叉树,检查它是否是镜像对称的。本篇经验将分享如何通过递归调用的方式实现这个算法,关于什么是对称二叉树,可以参考如下图片的示例。
编写代码,递归调用判断两棵树是否是对称相同的二叉树
图1示:通过内部类类声明二叉树节点类
图2示:判断两棵树是否是对称相同,通过观察可以得知条件为:根节点相同,并且一个树的左子树和另一棵树的右子树相同(递归判断)。
调用上述方法,判断一棵树是否是对称二叉树
图示:如果参数为空,则直接返回 true,如果不为空,则调用上述方法来判断其是否是对称二叉树,参数为其左右子树(即当左右子树对称相同,则其为一棵对称二叉树)。
编写代码,中序遍历,输出二叉树
图示:通过递归调用,中序遍历输出二叉树,当遇到空节点,则输出 None。
编写测试代码
图示:在主方法中,构建两棵树,前者是一棵对称二叉树,后者不是一棵对称二叉树,调用上述方法,让算法进行判断,并在控制台打印结果。
运行测试代码
图示:运行主方法,观察控制台输出,输出符合预期。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
怎样使用SUMIF函数