P4913二叉树深度

一、题目描述

  

 

 

 二、题目分析

  根节点为第1层,然后根据每次输入建树,用bfs求解,或者建的时候直接数层数也行。

三、代码实现

 1 #include "bits/stdc++.h"
 2 using namespace std;
 3 struct node{
 4     int l;
 5     int r;
 6 }Tree[1000010];
 7 int n;
 8 int mf = 1;
 9 void dfs(int now,int f)
10 {
11     mf = max(mf,f);    
12     if(Tree[now].l) dfs(Tree[now].l,f + 1);
13     if(Tree[now].r) dfs(Tree[now].r,f + 1);
14 }
15 int main()
16 {
17     cin >> n;
18     for(int i = 1;i <= n;i++)
19         cin >> Tree[i].l >> Tree[i].r;
20     dfs(1,1);
21     cout << mf;
22     return 0;
23 }

 

posted @ 2022-01-20 20:01  scannerkk  阅读(42)  评论(0)    收藏  举报