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

Leetcode.559 N 叉树的最大深度

题目链接

Leetcode.559 N 叉树的最大深度 easy

题目描述

给定一个 N 叉树,找到其最大深度。

最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。

N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。

示例 1:

在这里插入图片描述

输入:root = [1,null,3,2,4,null,5,6]
输出:3

示例 2:

在这里插入图片描述

输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]
输出:5

提示:

  • 树的深度不会超过 1000 1000 1000
  • 树的节点数目位于 [ 0 , 1 0 4 ] [0, 10^4] [0,104] 之间。

解法:递归

我们每次只需要返回 1 + 最长子结点的高度 即可。

  • 1 + m a x { m a x D e p t h ( r o o t . c h i l d r e n ) } 1 + max\{ maxDepth ( root.children ) \} 1+max{maxDepth(root.children)}

时间复杂度: O ( n ) O(n) O(n)

C++代码:


class Solution {
public:
    int maxDepth(Node* root) {
        if(root == nullptr) return 0;
        int d = 0;
        for(auto v:root->children){
            d = max(d , maxDepth(v));
        }

        return d + 1;
    }
};


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

相关文章:

  • LabVIEW大数据处理
  • EXCEL延迟退休公式
  • WordPress 6.7 “Rollins”发布
  • Android Studio 将项目打包成apk文件
  • golang如何实现sse
  • C++面试基础知识:排序算法 C++实现
  • Debezium报错处理系列之五十七:Can‘t compare binlog filenames with different base names
  • C++从0到1实战
  • Vector - CAPL - CRC算法介绍(续)
  • Android 中封装优雅的 MediaPlayer 音频播放器,支持多个播放器
  • Ansys Zemax | 如何使用 Zernike 凹陷表面对全反射系统进行建模
  • html中开源的视频播放器插件有哪些以及官方网站和详细介绍说明
  • linux 共享内存 shmget
  • Day924.自动化测试 -系统重构实战
  • 【Linux】进程理解与学习-程序替换
  • 小白的git入门教程(二)
  • FreeRTOS学习(一)
  • 【分享】太阳能电池性能测试指标,太阳能电池IV测试软件系统
  • JAVAWeb01-BS架构简述、HTML
  • 人脸识别:使用Python和机器学习技术实现
  • 学校的地下网站(学校的地下网站1080P高清)
  • 关于json和xml的知识点总结
  • ROS实践12 自定义源文件并调用
  • Serverless MQTT 服务即将正式上线、新增 2 个平台安装包
  • Python SMTP发送邮件和线程
  • DevExpress WinForms电子表格控件,让应用更快拥有现代办公体验!