pat 1020 Tree Traversals
来源:互联网 发布:access2007制作数据库 编辑:程序博客网 时间:2024/05/16 13:45
已知二叉树后序和中序,求层次顺序。需要重点参考。
#include<iostream>#include<vector>#include<queue>using namespace std;struct node{int value;node *left,*right;};vector<int> inOrder,post,ans;queue<node *> outOrder;node * getParent(int start,int end){int i,index=-1;node *pa=new node;pa->left=NULL;pa->right=NULL;pa->value=post[post.size()-1];//找到后序中的根结点for(i=start;i<=end;i++){if(pa->value==inOrder[i]){//找到根结点对应的中序下标index=i;break;}}if(index==end){ //处理右结点的情况pa->right=NULL;} else if(index<end){post.pop_back();pa->right=getParent(index+1,end);}if(index==start){ //处理左结点的情况pa->left=NULL;} else if(index>start){post.pop_back();pa->left=getParent(start,index-1);}return pa;}void printLevelOrder(node *p)//层次遍历,借助队列outOrder{outOrder.push(p);while(outOrder.size()>0){node* t=outOrder.front();outOrder.pop();ans.push_back(t->value);if(t->left!=NULL)outOrder.push(t->left);if(t->right!=NULL)outOrder.push(t->right);}}int main(){int n,i,temp;node *parent;freopen("C:\\Documents and Settings\\Administrator\\桌面\\input.txt","r",stdin);cin>>n;for(i=0;i<n;i++){cin>>temp;post.push_back(temp);}for(i=0;i<n;i++){cin>>temp;inOrder.push_back(temp);}parent=getParent(0,n-1);printLevelOrder(parent);for(i=0;i<ans.size();i++){cout<<ans[i];if(i!=ans.size()-1)cout<<" ";}return 0;}
- pat 1020 Tree Traversals
- PAT 1020 Tree Traversals
- PAT 1020 Tree Traversals
- PAT 1020 Tree Traversals (25)
- pat advanced 1020 Tree Traversals
- 浙大PAT 1020题 1020. Tree Traversals
- Pat(Advanced Level)Practice--1020(Tree Traversals)
- 【PAT】1020. Tree Traversals
- PAT 1020. Tree Traversals
- PAT 1020. Tree Traversals
- PAT--1020. Tree Traversals
- PAT 1020. Tree Traversals
- PAT 1020. Tree Traversals
- PAT A1020. Tree Traversals
- 【PAT】1020. Tree Traversals
- Tree Traversals Again (PAT)
- PAT [A1020]-Tree Traversals
- pat 1020. Tree Traversals (25)
- JAVA文件IO流的理解(二)
- 两数交换
- linux进程状态D的一种产生原因
- smtp命令
- jQuery Mobile 1.3.0正式版发布了!
- pat 1020 Tree Traversals
- 【vim】复制一个文件中的数据到另一个文件中(使用缓冲区)
- hdu 1853 Cyclic Tour【KM】
- Objective-C 学习笔记
- 使用jaxb-xjc的xjc和schemagen
- php随机生成国内ip地址
- 3DS文件在OpenGL的读入和显示
- 小桥加加的英语学习博客
- [笔记]20070820英语学习笔记