PAT1099 Build A Binary Search Tree
来源:互联网 发布:淘宝睡衣女模 编辑:程序博客网 时间:2024/06/14 06:27
题目链接
http://www.nowcoder.com/pat/5/problem/4323
题目描述:
n个节点,按顺序给出每个节点节点的左右孩子的下标,构造出一个数,再给一些整型数据,将这些数据放入对应的树的节点位置,使得构造出一个BST,然后层序输出这颗二叉树上所有节点的key值。
题目分析:
水题,一开始把题理解错了,以为是先构造玩左边的树,再构造右子树……结果就是按顺序来的。中序遍历的变形。
代码:
#include<iostream>#include<queue>#include<stack>#include <algorithm>using namespace std;struct Node{ int val; int lChild; int rChild; Node() :val(0), lChild(-1), rChild(-1){ }};struct Node node[105];int num[105];int cnt = 0;void inorderTraverse(int root){ if (root != -1){ inorderTraverse(node[root].lChild); node[root].val = num[cnt++]; inorderTraverse(node[root].rChild); }}int main(){ int N; cin >> N; stack<int> s; s.push(0); int num1, num2,idx; for (int i = 0; i < N;i++){ cin >> num1 >> num2; node[i].lChild = num1; node[i].rChild = num2; } for (int i = 0; i < N; i++){ scanf("%d",&num[i]); } sort(num,num+N); inorderTraverse(0); queue<int> q; printf("%d",node[0].val); if (node[0].lChild != -1){ q.push(node[0].lChild); } if (node[0].rChild != -1){ q.push(node[0].rChild); } while (!q.empty()){ idx = q.front(); q.pop(); printf(" %d",node[idx].val); if (node[idx].lChild != -1){ q.push(node[idx].lChild); } if (node[idx].rChild != -1){ q.push(node[idx].rChild); } } return 0;}
0 0
- PAT1099 Build A Binary Search Tree
- Build A Binary Search Tree
- Build A Binary Search Tree
- PAT 1099. Build A Binary Search Tree
- 1099.Build A Binary Search Tree
- 1099. Build A Binary Search Tree (30)
- 1099. Build A Binary Search Tree (30)
- 1099. Build A Binary Search Tree (30)
- 1099. Build A Binary Search Tree (30)
- A1099. Build A Binary Search Tree (30)
- 1099. Build A Binary Search Tree (30)
- 1099. Build A Binary Search Tree (30)
- 1099. Build A Binary Search Tree (30)
- 1099. Build A Binary Search Tree (30)
- pat 1099 Build A Binary Search Tree
- 1099. Build A Binary Search Tree
- 1099. Build A Binary Search Tree (30)
- 1099. Build A Binary Search Tree (30)
- 欢迎使用CSDN-markdown编辑器
- 使用CButtonColumn自定义CGridiew里面的按钮
- SDWebImage手动清除缓存的方法
- git的初探
- 插入排序
- PAT1099 Build A Binary Search Tree
- java常考面试题
- Random field
- 决策树系列之二 决策树模型组合之随机森林与GBDT
- resteasy + mybatis 项目搭建
- Mac下MySQL卸载方法
- 自增量字段与Guid字段主键的性能对比
- linux 常用基本命令之十 df
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)