1086. Tree Traversals Again (25)
来源:互联网 发布:php tp框架邮箱验证码 编辑:程序博客网 时间:2024/05/29 12:00
#include<iostream> #include <sstream> //将string转化成int #include<string> //定义string类型字符串 #include<stack> #define MAXSIZE 100using namespace std; typedef int ElemType;struct BTNode{ElemType data;BTNode * lchild;BTNode * rchild;};//先序+中序=建树 BTNode * PreInCreate(ElemType pre[],ElemType in[],int len){ if(pre==NULL || in==NULL || len<=0) return NULL; int i=0; BTNode * T=new BTNode; T->lchild=T->rchild=NULL; int leftlen,rightlen; ElemType tmp=pre[0]; T->data=tmp; while(i<len){ if(in[i]!=tmp) i++; else break; } leftlen=i;rightlen=len-i-1; if(leftlen>0) T->lchild=PreInCreate(pre+1,in,leftlen); if(rightlen>0) T->rchild=PreInCreate(pre+leftlen+1,in+leftlen+1,rightlen); return T; } //后序遍历 void PostOrder(BTNode * T,bool flag){ //flag=true表示可以输出空格 //这步判断一定要有,处理建树时的return NULL if(T){ PostOrder(T->lchild,true); PostOrder(T->rchild,true); cout<<T->data; if(!flag) flag=true;else cout<<" "; } } int main(){ //freopen("input.txt","r",stdin);int n; stringstream ss; string Nstr; getline(cin,Nstr); ss << Nstr; ss >> n; ss.clear(); //cout<<n; stack<int> myStack;int pre[MAXSIZE],in[MAXSIZE];string key; int data;int preidx=0,inidx=0;for(int i=0;i<2*n;i++){getline(cin,key);//cout<<key[1]<<"hahaha";return 0;if(key[1]=='u'){ //"u"表示字符串,'u'表示一个字符 string datastr=key.substr(5);ss<<datastr; ss>>data; ss.clear();pre[preidx++]=data;myStack.push(data); }else{int tmp=myStack.top();in[inidx++]=tmp;myStack.pop();}}BTNode * T;T=PreInCreate(pre,in,preidx); //因为最后一步多+1 PostOrder(T,false); return 0; }
0 0
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 1086. Tree Traversals Again (25)
- 网络访问之OkHttp
- 十大编程算法助程序员走上高手之路
- 一些高级技巧
- [计算机视觉][神经网络与深度学习]R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记
- 最短路径:Dijkstra算法和Floyd算法
- 1086. Tree Traversals Again (25)
- 对mongodb的学习
- 【业界】 《王者荣耀》技术总监复盘回炉历程
- C#使用WebClient下载文件到本地目录
- 蓝桥杯-错误票据
- scala_三次排序
- 使用HTTPS(提高网站安全性)
- 广告类网站织梦模板
- 关于链表的总结以及其作用