题解 | #树查找#
树查找
https://www.nowcoder.com/practice/9a10d5e7d99c45e2a462644d46c428e4
//KY194 树查找 //有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。 #include<bits/stdc++.h> using namespace std; int main() { int n ; int arr[100]; scanf("%d", &n); int count = 0; for (int i = 1 ; i <= n; i++) { scanf("%d", &arr[i]); count++; } int sum = log(count) / log(2) + 1; //有多少层 int m ; scanf("%d", &m); //深度 if (m == 1) { //第一层 printf("%d", arr[1]); } else if (m > sum) { printf("EMPTY"); } else { for (int i = pow(2, m - 1); i <= pow(2, m) - 1; ++i) { printf("%d ", arr[i]); } } }