洛谷P4913 【深基16.例3】二叉树深度(c嘎嘎)

题目链接P4913 【深基16.例3】二叉树深度 - 洛谷 | 计算机科学教育新生态

题目难度 :普及

解题思路:本题要求树的深度,即求左右子树高度的最大值,首先我们用结构体存树左右节点,然后分别递归地去左右子树的深度。

下面奉上代码部分:

cpp 复制代码
#include<bits/stdc++.h>  // 万能头文件
using namespace std;
typedef long long ll;
const int N = 1e6 + 10;      
int n;
int ans;
 
struct node
{
	int left,right;
	
}tree[N];

void dfs(int id,int deep)
{
	if(id == 0) return;//到达叶子节点
	ans = max(ans,deep);
	dfs(tree[id].left,deep + 1);//递归求左子树的深度 
	dfs(tree[id].right,deep + 1);//递归求右子树的深度 
}
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);
    
    cin >> n;
    for(int i=1; i<=n; i++)   cin >> tree[i].left >> tree[i].right;
    
    dfs(1,1);
    
    cout << ans << '\n';
    	

  
    return 0;  
}
 
相关推荐
程序员-King.3 小时前
day158—回溯—全排列(LeetCode-46)
算法·leetcode·深度优先·回溯·递归
优雅的潮叭3 小时前
c++ 学习笔记之 chrono库
c++·笔记·学习
星火开发设计3 小时前
C++ 数组:一维数组的定义、遍历与常见操作
java·开发语言·数据结构·c++·学习·数组·知识
月挽清风4 小时前
代码随想录第七天:
数据结构·c++·算法
小O的算法实验室4 小时前
2026年AEI SCI1区TOP,基于改进 IRRT*-D* 算法的森林火灾救援场景下直升机轨迹规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
小郭团队5 小时前
2_1_七段式SVPWM (经典算法)算法理论与 MATLAB 实现详解
嵌入式硬件·算法·硬件架构·arm·dsp开发
充值修改昵称5 小时前
数据结构基础:从二叉树到多叉树数据结构进阶
数据结构·python·算法
Deepoch5 小时前
Deepoc数学大模型:发动机行业的算法引擎
人工智能·算法·机器人·发动机·deepoc·发动机行业
-To be number.wan5 小时前
【数据结构真题解析】哈希表中等难度挑战:冲突处理与查找效率深度剖析
数据结构·哈希算法