对称二叉树

这里考试的时候其实就是想考递归,但是我实在是不清楚为什么\(n\)能够开到\(100W\)。。。这不随便超时吗

介绍一个确定性算法的判断一个二叉树是否对称

首先一个二叉树的中序遍历有两种,一个是先遍历左子树,一个是先遍历右子树,我们用结构归纳法,可以证明以树根为中心翻转其中一种中序遍历,就会得到另一种中序遍历

由以上推论,我们先获得这个二叉树的先遍历左子树的中序遍历,如果这个中序遍历是以树根这个点为中心的回文串,那么就代表这个二叉树的两种中序遍历是相等的,我们从实际意义上理解,就是镜面对称了

当然这个算法的复杂度对一棵树来说是\(O(n)\)的(用马拉车),而这里要判断很多树,估计只能看看哈希了

posted @ 2024-03-18 22:23  最爱丁珰  阅读(2)  评论(0编辑  收藏  举报