【题解】二叉树层数
2025-08-03 15:48:04
发布于:浙江
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int l[1000005],r[1000005],ans;
void dfs(int x,int ps){//x:节点编号,ps:节点所在层数
if(x==0) return;//没有子节点,返回主函数
ans=max(ans,ps);//比较ans节点节点所在层数
dfs(l[x],ps+1);//搜索x节点的左子树的深度
dfs(r[x],ps+1);//搜索x节点的右子树的深度
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>l[i]>>r[i];
}
dfs(1,1);
cout<<ans<<endl;
}
这里空空如也
有帮助,赞一个