站外题WA求调
  • 板块题目总版
  • 楼主mori_0226
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/1/29 09:24
  • 上次更新2024/1/29 11:00:31
查看原帖
站外题WA求调
937492
mori_0226楼主2024/1/29 09:24

题目链接:https://oj.aicoders.cn/problem/2159

#include<iostream>
using namespace std;
const int N = 100+1;
int n;
int a[N];
void postOrder(int bt){
	if(bt == 0){
    	return;
    }else{
    	if(1 <= bt && bt <= n){
    		postOrder(bt*2);
        	postOrder(bt*2+1);
        	cout << a[bt] << " ";
    	}
    }
}
int getDepth(int bt){
	if(bt < 1 || bt > n){
    	return 0;
    }
    int ld = getDepth(bt*2);
    int rd = getDepth(bt*2+1);
    return max(ld,rd)+1;
}
int main(){
	cin >> n;
    for(int i = 1;i <= n;i++){
    	cin >> a[i];
    }
    cout << getDepth(1) << endl;
    postOrder(1);
	return 0;
}

输出总带一个0,怎么去掉啊。
求调 谢谢!

2024/1/29 09:24
加载中...