【华为OD机试】-(A卷+B卷+C卷+D卷)-2024真题合集目录
题目描述
有一棵二叉树,每个节点由一个大写字母标识(最多26个节点)。
现有两组字母,分别表示后序遍历(左孩子->右孩子->父节点)和中序遍历(左孩子->父节点->右孩子)的结果,请你输出层序遍历的结果。
输入描述
每个输入文件一行,第一个字符串表示后序遍历结果,第二个字符串表示中序遍历结果。(每串只包含大写字母)
中间用单空格分隔。
输出描述
输出仅一行,表示层序遍历的结果,结尾换行。
用例1
| 输入 | CBEFDA CBAEDF |
| 输出 | ABDCEF |
| 说明 | 二叉树为: A |
题目解析
二叉树的三种遍历方式:
- 前(根)序遍历:根左右
- 中(根)序遍历:左根右
- 后(根)序遍历:左右根
前中后是指根节点出现的位置,三种遍历方式只有根节点的顺序不一样,左右节点的顺序不变。
后序遍历的最后一个节点肯定是根节点,由例子中后序遍历的结果CBEFDA可以知道根节点为A。在中序遍历中,根节点在中间位置出现,根节点的坐边就是左子树,右边是右子树。由中

该博客介绍了如何解决华为在线评估(OD)机试中关于二叉树层序遍历的问题。通过分析后序遍历和中序遍历的结果,利用广度优先搜索(BFS)重建二叉树并输出层序遍历顺序。文章提供了C++、Java和Python的代码实现。
订阅专栏 解锁全文
8万+

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



