华为机试练习(二)二叉树遍历

题目描述
给定一棵二叉树的前序遍历和中序遍历,求其后序遍历

输入
两个字符串,其长度n均小于等于26
第一行为前序遍历,第二行为中序遍历
二叉树中的结点名称以大写字母表示:A,B,C….最多26个结点

输出
输入样例可能有多组,对于每组测试样例
输出一行,为后序遍历的字符串

样例输入
ABC
BAC
FDXEAG
XDEFAG

样例输出
BCA
XEDGAF

【分析】由先序遍历和中序遍历可确定唯一的二叉树,然后再对其进行后序遍历即可

【实现】

// 获取输入
const input1 = "FDXEAG"
const input2 = "XDEFAG"

// 将字符串拆分为数组
const dlr = input1.split("")
const ldr = input2.split("")

// 遍历序列生成二叉树
function createNode(dlr, ldr) {
   
    if (dlr.length === 0) {
   
        // 先序序列长度为0,说明整个树已经遍历完成
        return null
    }

    if (ldr.length === 0) {
   

你可能感兴趣的:(算法,js,数据结构)