18
2025-05-22 21:35:06
发布于:山西
0阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int l[1000000], r[1000000], n, ans;
// 递归遍历二叉树,记录每个节点的深度
void dfs(int x, int pos) {
if (x == 0) return;
ans = max(ans, pos);
dfs(l[x], pos + 1);
dfs(r[x], pos + 1);
}
int main() {
// 输入节点个数
cin >> n;
// 输入每个节点的左右子节点
for (int i = 1; i <= n; i++)
cin >> l[i] >> r[i];
// 从根节点开始递归遍历二叉树
dfs(1, 1);
// 输出二叉树的深度
cout << ans;
return 0;
}
这里空空如也
有帮助,赞一个