您的位置:首页 > 其它

poj - 2255 Tree Recovery

2012-07-15 22:27 453 查看
今天只水了一道二叉树重建,本来白书上是有代码的,可惜我的白书锁教室了,只好自己想了一下,还算可以。

#include <stdio.h>
#include <string.h>
int cnt;
char c[30];
void build(char * s,char * t,int l)
{
if(l == 1)
{c[cnt++] = *s; return ;}
int n = strchr(t,s[0]) - t;
if(n) build(s+1,t,n);
if(l-n-1)
build(s+n+1,t+n+1,l-n-1);
c[cnt++] = *s;
}
int main()
{
char a[30],b[30];
int l,i;
while(~scanf("%s%s",a,b))
{
cnt = 0;
l = strlen(a);
build(a,b,l);
for(i = 0; i < l; i++)
printf("%c",c[i]);
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: