问题 1624 --求后序遍历(完善程序)

1624: 求后序遍历(完善程序)★★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 527  解决: 444
[提交][状态][命题人:]

题目描述

输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。

[Python]

def hx(qx,zx):
    global ans
    if len(qx)==0:
        return
    else:
        t=qx[0]
        _______(1)________
        hx(qx[1:wz+1],zx[:wz])
        _______(2)________
        ans+=t
qx=input()
zx=input()
ans=""
______(3)_________
print(ans)


[C/C++]

#include<iostream>
#include<cstring>
using namespace std;
#define MAX 100
void solve(char first[], int spos_f, int epos_f, char mid[], int spos_m, int epos_m)
{
    int i, root_m;
    if(_______(1)______)
        return;
    for(i = spos_m; i <= epos_m; i++)
        if(_____(2)_______)
        {
            root_m = i;
            break;
        }
    solve(first, _____(3)________, mid, spos_m, root_m - 1);
    solve(first, ______(4)_______, mid, root_m + 1, epos_m);
    cout << _____(5)______;
}
int main()
{
    char first[MAX], mid[MAX];
    int len;
    cin >> first >> mid;
    len=strlen(first);
    solve(first, 0, len - 1, mid , 0, len - 1); 
    cout << endl;
    return 0;
}


输入

共两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写字母表示。

输出

一行,表示树的后序遍历序列。

样例输入
Copy
abdec
dbeac
样例输出
Copy
debca

提示

来源

[提交][状态]