hihocoder 1049 后序遍历树
#include<cstdio> #include<cstdlib> #include<iostream> #include<cstring> #include<cmath> #define L 2000050 using namespace std; char pre[30],in[30],post[30]; int n = 0; void dfs(char *pre,char *in)//知道前序遍历,中序遍历,求后序 { if(*in == 0) return; char *t = in; int len = 0; while(*t++ != *pre) len++; //根据根在中序遍历中的位置,划分左右子树 in[len] = 0; dfs(pre+1,in);//遍历左子树 dfs(pre+len+1,in+len+1);//遍历右子树 post[n++] = *pre;//根 } int main(){ // freopen("1.txt","r",stdin); scanf("%s %s",pre,in); dfs(pre,in); post[n] = 0; puts(post); return 0; }
posted on 2015-11-20 14:54 zyz913614263 阅读(168) 评论(0) 编辑 收藏 举报
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步