1020. Tree Traversals
来源:互联网 发布:mac安装adobe flash 编辑:程序博客网 时间:2024/05/18 19:37
遵循分治法来写就能过
#include<iostream>#include<queue>#include<algorithm>using namespace std;const int N=35;int A[N],B[N],n;struct node{ int val; node*lch,*rch; node(int k):val(k){lch=rch=nullptr;}};// A[i ..j] B[m .. n]void build(node*&p,int i,int j,int m,int n){ if(i>j)return; p=new node(A[j]); int mid=find(B,B+n,A[j])-B; build(p->lch,i ,i+mid-1-m , m, mid-1); build(p->rch,i+mid-m ,j-1, mid+1, n);}int main(){ cin>>n; for(int i=0;i<n;++i)cin>>A[i]; for(int i=0;i<n;++i)cin>>B[i]; node*root; build(root,0,n-1,0,n-1); queue<node*>que; que.push(root); bool first=true; while(!que.empty()){ if(first)first=false; else cout<<' '; auto p=que.front(); cout<<p->val; if(p->lch) que.push(p->lch); if(p->rch) que.push(p->rch); que.pop(); }//while}
0 0
- 1020. Tree Traversals
- 1020. Tree Traversals (25)
- 1020. Tree Traversals
- 【PAT】1020. Tree Traversals
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- PAT 1020. Tree Traversals
- PAT 1020. Tree Traversals
- 1020. Tree Traversals
- 1020. Tree Traversals
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020.Tree Traversals
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals (25)
- 1020. Tree Traversals
- log4j.properties配置详解
- UML序列图总结
- Windows文件操作的API函数
- RAC 环境中最常见的 5 个数据库和/或实例性能问题 (文档 ID 1602076.1)
- 如何解决跨站脚本攻击
- 1020. Tree Traversals
- ofbiz:Amount in cash is greater than total due in webpos
- ThinkPHP学习笔记【第二天】
- 数据交互平台
- 用Canvas为网页添加动态背景
- NSString 与 NSDate 的互相转换 本地日期字符串与UTC日期字符串的转化
- 使用Android SDK Manager下载、更新sdk时的问题
- Linux 查看系统运行信息
- [ios]IOS页面切换的几种方式