博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
根据二叉树栈形式的中序遍历过程来反推二叉树
阅读量:3959 次
发布时间:2019-05-24

本文共 589 字,大约阅读时间需要 1 分钟。

6Push 1Push 2Push 3PopPopPush 4PopPopPush 5Push 6PopPop
//找到的规律是://①第一个push的一定是根//②对于所有的push:如果它的上一个操作为push,那么当前这个点就是上一个push的左儿子//如果是pop那么当前点就是上一个pop的点的右儿子int main(){
scanf("%d",&n); memset(l,-1,sizeof l);memset(r,-1,sizeof r); cin>>last;cin>>id; root = id; p[top++] = root; for(int i=1;i<=2*n-1;i++){
cin>>now; if(now=="Push"){
scanf("%d",&p[top++]); if(last=="Pop") r[id] = p[top-1]; else l[id] = p[top-1]; id = p[top-1]; }else{
id = p[--top]; } last = now; }}

转载地址:http://gllzi.baihongyu.com/

你可能感兴趣的文章
linux core文件机制
查看>>
私有继承中的派生类对象与基类对象间的转换
查看>>
5.7 观察者模式observer(行为模式)
查看>>
建造者模式Builder(创建模式)
查看>>
Linux文件系统目录结构的详细解说(一)
查看>>
TIME_WAIT状态的意义
查看>>
千万不要把 bool 设计成函数参数
查看>>
linux文件属性及权限详解
查看>>
Find 命令使用详解
查看>>
Ext4,Ext3的特点和区别
查看>>
Linux文件系统目录结构的详细解说(二)
查看>>
Linux umount 报 device is busy 的处理方法
查看>>
一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间。
查看>>
提供机制而不是策略
查看>>
内核中断机制
查看>>
内核抢占
查看>>
编译linux内核源码 ubuntu
查看>>
epoll使用详解
查看>>
epoll
查看>>
The AnimationClip 'Walk' used by the Animation component 'Pig' must be marked as Legacy.
查看>>