洛谷 P4913 二叉树深度

题目链接:二叉树深度



思路

       存储二叉树的各个节点并递归搜索二叉树深度。
image


题解

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 1e5 + 10;
struct binary {
  int lchild, rchild;
}tree[N];

// 递归搜索
ll query(int now) {
  if (tree[now].lchild == 0 && tree[now].rchild == 0) {
    return 1;
  }
  ll res = query(tree[now].lchild);
  res = max(res, query(tree[now].rchild));
  return res + 1;
}

int main() {
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    int l, r;
    cin >> l >> r;
    tree[i].lchild = l, tree[i].rchild = r;
  }
  cout << query(1) << endl;
  return 0;
}
posted @ 2024-06-13 15:36  薛定谔的AC  阅读(19)  评论(0编辑  收藏  举报