灰哥的二叉树
//这是一个教灰哥用数组写二叉树的教程
//题意:知道中序后序遍历求先序遍历
#include<iostream> #include<cstdio> #include<cstring> #include<string> using namespace std; const int N=10; int la,lb; char a[N],b[N]; struct node{ int ls,rs; char c; }tree[N]; int cnt=0; int build(int l,int r,int s,int t){ if(l>r||s>t) return 0; tree[++cnt].c=b[t]; int u=cnt; int root=0; for(root=l;root<=r;root++) if(a[root]==b[t]) break; tree[u].ls=build(l,root-1,s,s+root-l-1); tree[u].rs=build(root+1,r,s+root-l,t-1); return u; } void print(int u){ if(u==0) return; printf("%c",tree[u].c); print(tree[u].ls); print(tree[u].rs); } int main(){ scanf("%s%s",a+1,b+1); la=strlen(a+1);lb=strlen(b+1); build(1,la,1,lb); print(1); }
Copyright:http://www.cnblogs.com/candy99/
分类:
水题
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· golang自带的死锁检测并非银弹
· 如何做好软件架构师
· 欧阳的2024年终总结,迷茫,重生与失业
· 聊一聊 C#异步 任务延续的三种底层玩法
· 上位机能不能替代PLC呢?
· 2024年终总结:5000 Star,10w 下载量,这是我交出的开源答卷
· .NET Core:架构、特性和优势详解