PAT 1099 Build A Binary Search Tree
来源:互联网 发布:淘宝旺铺基础版在哪里 编辑:程序博客网 时间:2024/06/16 04:55
题意:
依次给出各点的左右孩子结点号, 接着再往其中存入一组数字。要求构成二叉搜索树。
注意点:
1. 理解题目含义。 构建树时,给的输入是0~n各点各自的左右孩子,而非我之前理解的用先序遍历存入的孩子信息。
2. 注意加上-1的判断。
//628K94MS#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<stack>#include<vector>#include<queue>using namespace std;#define inf 0x3f3f3f3f#define M 2500int lchild[M],rchild[M];int n;void BuildTree(){int l,r;for(int i = 0 ;i < n; i++){scanf("%d%d",&l,&r);lchild[i] = l;rchild[i] = r;}}int k;int num[M],ans[M];void InsertTree(int node){if(node == -1 || k >= n)return ;InsertTree(lchild[node]);ans[node] = num[k++];InsertTree(rchild[node]);}void printTree(int node){queue<int> q;q.push(node);printf("%d",ans[node]);while(!q.empty()){node = q.front();q.pop();if(node != 0)printf(" %d", ans[node]);if(lchild[node] != -1)q.push(lchild[node]);if(rchild[node] != -1)q.push(rchild[node]);}cout<<endl;}int main(){scanf("%d",&n);if(n == 0)return 0;BuildTree();for(int i = 0;i < n; i++){scanf("%d",&num[i]);}sort(num,num+n);k = 0;InsertTree(0);printTree(0);return 0;}
阅读全文
0 0
- pat 1099 Build A Binary Search Tree
- PAT 1099 Build A Binary Search Tree
- PAT 1099. Build A Binary Search Tree
- PAT|1099. Build A Binary Search Tree
- PAT--1099. Build A Binary Search Tree
- 【PAT】1099. Build A Binary Search Tree
- PAT Build A Binary Search Tree
- PAT-Build A Binary Search Tree
- PAT (Advanced Level) 1099 Build A Binary Search Tree (30)
- PAT 1099-Build A Binary Search Tree (30)
- PAT A 1099. Build A Binary Search Tree (30)
- PAT-A 1099. Build A Binary Search Tree
- PAT(A) - 1099. Build A Binary Search Tree (30)
- PAT(A)-1099. Build A Binary Search Tree (30)
- PAT-A-1099. Build A Binary Search Tree (30)
- PAT 1099. Build A Binary Search Tree (30)
- PAT 1099. Build A Binary Search Tree (30)
- pat 1099. Build A Binary Search Tree (30)
- codevs1009 产生数
- 1067. 试密码(20)
- SpringMVC学习系列-后记 解决GET请求时中文乱码的问题
- 如何快速转载CSDN中的博客
- 动态生产XML和XML解析
- PAT 1099 Build A Binary Search Tree
- numpy 稀疏矩阵
- 关于Android Studio导入工程卡在Building Gradle上
- 并查集_无线网络
- java基础知识点整理大全
- Windows配置GitBook
- TFS2013 数据库链接sqlserver express(2012)
- SpringBoot项目在IntelliJ IDEA中实现热部署
- SQL Server之存储过程基础知识