二叉树遍历
给出前序和中序,求后序
#include <iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
char mid[27];
char pre[27];
int n=-1;
void maketree(int i,int j)
{
if(i>j) return ;
n++;
int k;
for( k=i; k<=j; k++)
{
if(pre[n]==mid[k])
{
break;
}
}
maketree(i,k-1);
maketree(k+1,j);
printf("%c",mid[k]);
}
int main()
{
while(~scanf("%s%s",pre,mid))
{
maketree(0,strlen(pre)-1);
printf("\n");
n=-1;
}
return 0;
}