题目描述
根据完全二叉树的层序遍历序列,输出其的第k层;
样例
输入样例:
4
1 2 3 4
2
输出样例:
2 3
C++ 代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e3 + 10;
int n,a[N],k;
int main()
{
cin >> n; //输入树的结点个数
for(int i=1;i<=n;++i)
cin >> a[i]; //输入各结点的权值
cin >> k;
int len = pow(2.0,k-1); //第k层的元素个数,同时a[len]是该层的第一个元素
if(len <= n) //在第k层有元素的情况下
for(int i=len;i<2*len && i<=n;++i)
cout << a[i] << ' ';
else // len > n(数据越界,即该层为空)
cout << "EMPTY";
cout << endl;
return 0;
}