1064 Complete Binary Search Tree (30 分)(BST)

1、大佬思路学习了。。。

#include <cstdio>
#include <cstring>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <stack>
#include <cmath>
#include <unordered_map> 
#include <algorithm>
#include <iostream>
using namespace std;


int arr[11000], ans[11000];

int n, m, j = 0;


void level(int root) {
	if (arr[root] == -1) return;
	level(2*root+1);
	ans[root] = arr[j++];
	level(2*root+2);
}
int main() 
{
  	cin >> n;
  	memset(arr, -1, sizeof(arr));
	for (int i = 0; i<n; i++) 
		cin >> arr[i];
	
	sort(arr, arr+n);
	
	level(0);
	
	for (int i = 0; i<n; i++) {
		if (i == n-1) printf("%d", ans[i]);
		else printf("%d ", ans[i]); 
	}
  	
	return 0;
}


上一篇:经典笔试题:有一个学生集合要求按照学生的身高从低到高排序(list中的对象实现Comparable接口来实现)


下一篇:实验一 Java开发环境的熟悉