您的位置:首页 > 理论基础 > 数据结构算法

6-3-3 二叉树重建

2013-11-11 00:22 429 查看
//刘汝佳递归真的是用成神了....如果加上那个数组s,就始终搞不明白右子树的后序遍历的最后一个参数为什么是s+p...

#include <cstdio>
#include <cstring>
char pre[500],mid[500];
void Build(int n,char* pre,char* mid)
{
if(n<=0)
{
return;
}
int Left_Len=strchr(mid,pre[0])-mid;
int Right_Len=n-Left_Len-1;
Build(Left_Len,pre+1,mid);
Build(Right_Len,pre+Left_Len+1,Left_Len+mid+1);
printf("%c",pre[0]);
}
int main()
{
while(scanf("%s%s",pre,mid)==2)
{
int n=strlen(pre);
Build(n,pre,mid);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息