本文主要是介绍nyoj-221-Tree,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include<stdio.h>
#include<string.h>
void build_tree(int n,char *a,char *b,char *c){
int tt=0;
char *p=b;
if(n<=0)
return ;
while(1){
if(a[0]==*p){//找到中序表示中根的位置
break;
}
else p++;
}
tt=p-b;c[n-1]=a[0];
build_tree(tt,a+1,b,c);
build_tree(n-tt-1,a+tt+1,b+tt+1,c+tt);
}
int main(){
char a[27],b[27],c[27];
while(scanf("%s",a)!=EOF)
{
int n,i;
scanf("%s",b);
n=strlen(a);
build_tree(n,a,b,c);
c[n]='\0';
printf("%s\n",c);
}
return 0;
}
这篇关于nyoj-221-Tree的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!