L2-035 完全二叉树的层序遍历(团体程序设计天梯赛-练习集)
#include <bits/stdc++.h>
using namespace std;
int post[40], dfs[40];
int n, cnt = 1;
void backtracking(int index){
if(index > n) return;
backtracking(index << 1);
backtracking(index << 1 | 1);
dfs[index] = post[cnt++];
}
int main(){
cin >> n;
for(int i = 1; i <= n; i++) cin >> post[i];
backtracking(1);
cout << dfs[1];
for(int i = 2; i <= n; i++) cout << " " << dfs[i];
return 0;
}

浙公网安备 33010602011771号