P4913 【深基16.例3】二叉树深度(水题)

题目描述

给出每个节点的两个儿子节点,建立一棵二叉树(根节点为 111),如果是叶子节点,则输入0 0。建好树后希望知道这棵二叉树的深度。二叉树的深度是指从根节点到叶子结点时,最多经过了几层。

最多有 10610^6106 个结点。

输入格式

输出格式

输入输出样例

输入 #1
7
2 7
3 6
4 5
0 0
0 0
0 0
0 0
输出 #1
4
这么水的题本来不想写博客来着,后来还是打算写一下提醒自己时刻记着题目里的坑。
叶子节点可能是独生子女!
复制代码
#include <bits/stdc++.h>
using namespace std;
int n,ans=0;
struct node
{
    int num;
    int l;
    int r;
}tree[1000005];
void dfs(int k,int layer)
{
    if(tree[k].l==0&&tree[k].r==0)
    {
        ans=max(ans,layer);
        return;
    }
    if(tree[k].l)dfs(tree[k].l,layer+1);
    if(tree[k].r)dfs(tree[k].r,layer+1);
}
int main()
{
    cin>>n;
    int i;
    for(i=1;i<=n;i++)
    {
        int x,y;
        scanf("%d%d",&x,&y);
        tree[i].num=i;
        tree[i].l=x,tree[i].r=y;
    }
    dfs(1,1);
    cout<<ans;
    return 0;
}
复制代码

 

posted @   脂环  阅读(419)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示
主题色彩