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 }
本文来自博客园,作者:{scanner},转载请注明原文链接:{https://home.cnblogs.com/u/scannerkk/}