【发布时间】:2021-04-13 04:24:51
【问题描述】:
我被要求编写一个递归算法来检查二叉树的结构(不是值)是否具有镜像对称性。例如:
1
/ \
/ \
/ \
3 5
/ \ / \
7 9 11 13
/ \
15 17
具有对称结构。我会很感激专家的眼睛来帮助我。提前致谢。 我知道如何检查值是否对称但不是实际结构。
【问题讨论】:
-
不就是跟踪左右吗?
-
一种方法是递归函数,签名为
bool isMirrored(struct node *left, struct node *right),称为bool result = isMirrored(root->left, root->right);,总体思路是同时遍历左右子树的双DFS。 -
你试过什么?添加当前方法/代码
-
如果您知道如何检查值是否对称,只需假设每个节点上的值都为零并进行检查
标签: algorithm data-structures binary-tree mirror symmetric