#include<iostream>
#include<string>
#include<fstream>
using namespace std;
const int capacity=100;
typedef struct TreeNode
{
char data;
struct TreeNode *l;
struct TreeNode *r;
} ;
void Tree(char *after,char *in,int l)
{
if(l==0)
{
return;
}
TreeNode *node=new TreeNode;
node->data=*(after+l-1);
int index=0;
for(index=0;index<l;index++)
{
if(in[index]==*(after+l-1))
{
break;
}
}
cout<<node->data<<" ";
Tree(after,in,index);
Tree(after+index,in+index+1,l-1-index);
return;
}
int main()
{
char *after="GDBEFCA";
char *in="DGBAECF";
Tree(after,in,7);
return 0;
}
#include<string>
#include<fstream>
using namespace std;
const int capacity=100;
typedef struct TreeNode
{
char data;
struct TreeNode *l;
struct TreeNode *r;
} ;
void Tree(char *after,char *in,int l)
{
if(l==0)
{
return;
}
TreeNode *node=new TreeNode;
node->data=*(after+l-1);
int index=0;
for(index=0;index<l;index++)
{
if(in[index]==*(after+l-1))
{
break;
}
}
cout<<node->data<<" ";
Tree(after,in,index);
Tree(after+index,in+index+1,l-1-index);
return;
}
int main()
{
char *after="GDBEFCA";
char *in="DGBAECF";
Tree(after,in,7);
return 0;
}