有一棵二叉树,每个节点由一个大写字母标识(最多26个节点)。现有两组字母,分别表示后序遍历(左孩子->右孩子->父节点)和中序遍历(左孩子->父节点->右孩子)的结果,请输出层次遍历的结果。
输入描述:
输入为两个字符串,分别是二叉树的后续遍历和中序遍历结果。
输出描述:
输出二叉树的层次遍历结果。
示例1 输入输出示例仅供调试,后台判题数据一般不包含示例
输入
CBEFDA CBAEDF
输出
ABDCEF
说明
二叉树为: A / \ B D / / \ C E F
Node.js版本
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
function dfs(s1, s2, arr, s1Index, start, end, size) {
if (start > end) {
return;
}
let index = start;
while (index < end) {
if (s2[index] == s1[s1Index]) {
break;
}
++index;