1064 Complete Binary Search Tree (30 分)
题目传送门:1064 Complete Binary Search Tree (30 分)
一、题目大意
给定一个长度为n的序列,构成一个完全二叉查找树,横向遍历输出
二、解题思路
拿着样例将完全二叉查找树画出来就会发现,这个树从树顶拿一个手电筒照下来,节点映射到水平面的顺序就是有序的 ,其实就是将给定序列排好序的中序遍历啦
而题目要求输出横向遍历,其实横向遍历就是数组保存节点的顺序,我们只需要将二叉树构建好,然后顺序打印这个数组就OK了。
而建树也很简单,就中序递归的来建:
void dfs(int root){
if(root > n)return; // 控制节点不能超过n
dfs(2*root);
a[root] =