Tree Recovery UVA

来源:互联网 发布:win8重置网络设置 编辑:程序博客网 时间:2024/06/07 03:43

题目只是要求输出后序遍历,这样就省事多了。无需建树,用数组来表示每个节点的字母,递归输出后序遍历即可。

/*************************************************************************      > File Name: Tree Recovery UVA - 536      > Author: Mrhanice      > Mail: 690697134@qq.com      > Created Time: 20170312      > link : https://vjudge.net/problem/UVA-536  ************************************************************************/#include <cstdio>#include <cstring>using namespace std;const int maxn=30;char in_order[maxn],post_order[maxn],pre_order[maxn];void post_trva(char *pre, char *in ,int length){    if(length<=0) return ;    char x = *pre;    int i=0;    for(;i<length;i++)    {        if(in[i]==x)            break;    }    post_trva(pre+1,in,i);    post_trva(pre+i+1,in+i+1,length-i-1);    printf("%c",x);}int main(){    while(scanf("%s",pre_order)!=EOF)    {        scanf("%s",in_order);        int len=strlen(pre_order);        post_trva(pre_order,in_order,len);        printf("\n");    }    return 0;}


0 0
原创粉丝点击