#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct BTNode
{
char data;
struct BTNode *left,*right;
}BTNode;
void createPreBT(char *post,char *in,int len)
{
if(len == 0)
return;
BTNode *t = (BTNode *)malloc(sizeof(BTNode));
t->data = post[len-1];
int i;
for(i=0;i<len;i++)
{
if(in[i] == post[len-1])
break;
}
printf("%c",t->data);
createPreBT(post,in,i);
createPreBT(post+i,in+i+1,len-i-1);
}
int main()
{
char pre[1000];
char in[1000];
char post[1000];
gets(post);
gets(in);
int len = strlen(in);
createPreBT(post,in,len);
/*
DEBGHFCA
DBEACGFH
=> ABDECFGH
*/
printf("\n");
return 0;
}
后序,中序序列 推导前序序列
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。