当前位置: 首页 > article >正文

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

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

题目难度普及

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

下面奉上代码部分:

#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;  
}
 


http://www.kler.cn/a/427446.html

相关文章:

  • 普及组集训图论--判断负环
  • HarmonyOS 5.0应用开发——UIAbility跳转
  • Java --- 注解(Annotation)
  • 【SpringBoot】StopWatch工具类的使用
  • 【MySQL】视图详解
  • labview使用modbus library实现modbus通信
  • flask+pyecharts实现可登录可视化大屏
  • RT Thread Studio新建STM32F407IG工程文件编译提示错误
  • MYSQL PARTITIONING分区操作和性能测试
  • 志愿服务管理系统设计与实现
  • 网络安全基本原则
  • 原型模式(Prototype Pattern)——对象克隆、深克隆与浅克隆及适用场景
  • 排序算法入门:分类与基本概念详解
  • 单链表---回文结构
  • 静态路由与交换机配置实验
  • springboot的 nacos 配置获取不到导致启动失败及日志不输出问题
  • Java实现三种排序方式
  • 微信小程序px和rpx单位互转方法
  • 【JavaEE】多线程(5)
  • 爆肝Android JNI - 延展Android蓝牙JNI学习