样例输入
3
3 1 2 3
5 1 2 3 0 4
13 1 2 3 4 0 5 6 7 8 0 0 9 10
样例输出
1 2 3
1 2 4 3
1 2 4 7 8 3 5 9 10 6
#include <string>
#include <string.h>
#include <iostream>
using namespace std;
void func(int i, int *arr, int n)
{
int leap = 0;
if(i < n && arr[i] != 0)
{
cout << arr[i] << " ";
func(2*i+1, arr, n);
func(2*i+2, arr, n);
}
}
int main()
{
int T, i, n;
int *arr = NULL;
cin >> T;
while(T--)
{
cin >> n;
arr = new int [n];
for(i = 0; i < n ; i++)
{
cin >> arr[i];
}
i = 0;
func(i, arr, n);
cout << endl;
delete []arr;
}
return 0;
}