pku 2255

来源:互联网 发布:python 幂函数 编辑:程序博客网 时间:2024/05/14 19:24

题目链接:
http://poj.org/problem?id=2255

题意:
已知二叉树的前序和中序,让你求后序。
二叉树递归模板题。
代码:

#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define met(a,b) memset(a,b,sizeof(a))#define inf 0x3f3f3f3fconst int maxn = 30+10;char s[maxn],s1[maxn],s2[maxn];void check(int len,char *s1,char *s2,char *s)//s1前序,s2中序,s为后序。{    if(len<=0)        return;    int p=strchr(s2,s1[0])-s2;    check(p,s1+1,s2,s);    check(len-1-p,s1+p+1,s2+p+1,s+p);    s[len-1]=s1[0];}int main(){    met(s1,0);met(s2,0);met (s,0);    while(scanf("%s%s",s1,s2)!=EOF)    {        int len=strlen(s1);        check(len,s1,s2,s);        s[len]='\0';        printf("%s\n",s);    }}
0 0
原创粉丝点击