nyoj-756-重建二叉树

来源:互联网 发布:中关村软件培训基地 编辑:程序博客网 时间:2024/05/17 01:09
#include<stdio.h>
#include<string.h>
void build_tree(int n,char *b,char *a)
{
 int p;
 if(n>=1)
 {
  p=n-1;
  printf("%c",a[n-1]);
  while(b[p]!=a[n-1]&&p>=0)
   p--;
   build_tree(p,b,a);
   build_tree(n-p-1,b+p+1,a+p);
 }
}
  
int main()
{
 char a[27],b[27];
 int n;
 while(scanf("%s%s",a,b)!=EOF)
 {
  n=strlen(a);
  build_tree(n,b,a);
  printf("\n");
 }
 return 0;
}
0 0