打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
N 叉树的最大深度

问题描述



来源:LeetCode第559题

难度:简单

给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。

问题分析



N 叉树就是每个节点最多有 N 个子节点,这题让求 N 叉树的最大深度,我们还是可以参照二叉树的解题方式使用 BFS ,就一层一层的遍历,计算总共有多少层即可,代码比较简单,我们就不在写了。我们来看下这题的 DFS 解决思路,这里来参考下二叉树的 DFS 解题思路,二叉树我们是把所有子节点的结果都计算出来,最后在合并,这题也一样,虽然我们不知道具体有多少个子节点,没法一个个列出来,但我们可以使用一个 for 循环来遍历,代码如下:

public int maxDepth(Node root) {
    if (root == null)
        return 0;
    // 当前节点子节点的个数
    int size = root.children.size();
    int max = 0;
    // 递归计算所有子节点的深度,保留最大值
    for (int i = 0; i < size; i++)
        max = Math.max(max, maxDepth(root.children.get(i)));
    // 当前树的最大深度就是子节点的最大深度加上1
    return max + 1;
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
​LeetCode刷题实战543:二叉树的直径
【小Y学算法】⚡️每日LeetCode打卡⚡️——28.二叉树的最大深度
二叉树的最大深度(基础面试题)
二叉树的几种存储方式(一个数组,指针形式,两个数组)
LeetCode实战:二叉树的最大深度
万字长文!二叉树入门和刷题看这篇就够了!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服