题目:
给定一棵二叉树的前序遍历和中序遍历,求其层序遍历的结果。
输入:
两个字符串,其长度n均小于等于26
第一行为前序遍历,第二行为中序遍历
二叉树中的结点名称以大写字母表示:A,B,C….最多26个结点
输出:
输入样例可能有多组,对于每组测试样例
输出一行,为层序遍历的字符串
样例输入:
FDXEAG
XDEFAG
样例输出:
XEDGAF
解题思路:
1、先序遍历的第一个节点就是整棵二叉树的根节点,因此根据二叉树的根节点找到根节点在中序遍历中的位置。
2、中序遍历中的根节点的左边就是左子树,右边就是右子树,因此可以通过不断递归,来找到每一棵树。
3、得到二叉树后,通过层序遍历将结果添加到结果的子串当中。
4、层序遍历需要一个队列来记录遍历顺序。
代码:
// 获取输入
const input1 = "FDXEAG"
const input2 = "XDEFAG"
// 将字符串拆分为数组
const preOrder = input1.split("")
c

该博客介绍了如何根据二叉树的前序遍历和中序遍历来构造二叉树,并实现层序遍历。解题思路包括确定根节点、递归构建子树以及使用队列进行层序遍历。最后提供了代码示例和总结。
最低0.47元/天 解锁文章
754

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



