PTA——L2-3 完全二叉树的层序遍历

alt 这题用到了分治思想,后序遍历的存图方式是:左->右->根,所以反过来存图的话顺序应该是:根->右->左,然后进行一个存图即可

```#include<bits/stdc++.h>
using namespace std;
int a;
int numb[50];
int ans[50];
int la;
void mp(int x){
    ans[x]=numb[la--];
    if(2*x+1<=a)
        mp(2*x+1);
    if(2*x<=a)
        mp(2*x);
  }
int main(){
    cin>>a;
    la=a;
    for(int i=1; i<=a; i++)
        cin>>numb[i];
    mp(1);
    for(int i=1; i<=a; i++){
        cout<<ans[i];
        if(i<=a-1)
            cout<<" ";
    }
    return 0;
}
全部评论

相关推荐

投递腾讯等公司10个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务