题目描述
一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树。对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点,这样的树就是完全二叉树。
给定一棵完全二叉树的后序遍历,请你给出这棵树的层序遍历结果
如题,当题目给出二叉树的前中后序遍历时,可直接转为层序遍历
void dfs(int i) {
if (i > n) return;
//scanf("%d", &tree[i]); // 前->层
dfs(i*2);
//scanf("%d", &tree[u]); // 中->层
dfs(i*2+1);
scanf("%d", &tree[i]); // 后->层
}
参考资料
完全二叉树的层序遍历Luo_LA
这篇博客探讨了如何将完全二叉树的后序遍历转化为层序遍历。通过深度优先搜索(DFS)策略,提供了一个递归函数实现,该函数根据后序遍历的节点顺序来重建二叉树,并输出层序遍历的结果。这种方法对于理解二叉树的遍历和结构转换具有重要意义。
1134

被折叠的 条评论
为什么被折叠?



