对称二叉树
这里考试的时候其实就是想考递归,但是我实在是不清楚为什么\(n\)能够开到\(100W\)。。。这不随便超时吗
介绍一个确定性算法的判断一个二叉树是否对称
首先一个二叉树的中序遍历有两种,一个是先遍历左子树,一个是先遍历右子树,我们用结构归纳法,可以证明以树根为中心翻转其中一种中序遍历,就会得到另一种中序遍历
由以上推论,我们先获得这个二叉树的先遍历左子树的中序遍历,如果这个中序遍历是以树根这个点为中心的回文串,那么就代表这个二叉树的两种中序遍历是相等的,我们从实际意义上理解,就是镜面对称了
当然这个算法的复杂度对一棵树来说是\(O(n)\)的(用马拉车),而这里要判断很多树,估计只能看看哈希了