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

LeetCode 104. 二叉树的最大深度

LeetCode 104. 二叉树的最大深度

难度:easy\color{Green}{easy}easy


题目描述

给定一个二叉树,找出其最大深度。

二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

说明: 叶子节点是指没有子节点的节点。

示例:
给定二叉树 [3,9,20,null,null,15,7][3,9,20,null,null,15,7][3,9,20,null,null,15,7]

    3/ \9  20/  \15   7

返回它的最大深度 3 。


算法

(递归)

递归求解:

当前树的最大深度等于左右子树的最大深度加1。

复杂度分析

  • 时间复杂度:树中每个节点只被遍历一次,所以时间复杂度是O(n)O(n)O(n)

  • 空间复杂度 : O(1)O(1)O(1)

C++ 代码

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int maxDepth(TreeNode* root) {if (!root) return 0;return max(maxDepth(root->left), maxDepth(root->right)) + 1;}
};

http://www.lryc.cn/news/21094.html

相关文章:

  • pandas 中如何按行或列的值对数据排序?
  • 「牛客网C」初学者入门训练BC139,BC158
  • 【深度学习】线性回归、逻辑回归、二分类,多分类等基础知识总结
  • 【MySQL】调控 字符集
  • FME+YOLOV7写DNF自动刷图脚本
  • Java语法面试题
  • location
  • 简述RBAC模型
  • 倒计时2天:中国工程院院士谭建荣等嘉宾确认出席,“警务+”时代来临...
  • Python蓝桥杯训练:基本数据结构 [哈希表]
  • MacOS 配置 Fvm环境
  • Python小白入门- 01( 第一章,第1节) 介绍 Python 编程语言
  • 高并发系统设计之缓存
  • 【N32WB03x SDK使用指南】
  • pytest测试框架——pytest.ini用法
  • KAFKA安装与配置(带Zookeeper)2023版
  • 深入浅出解析ChatGPT引领的科技浪潮【AI行研商业价值分析】
  • .net 批量导出文件,以ZIP压缩方式导出
  • 数据分析:某电商优惠卷数据分析
  • 性能测试流程
  • zookeeper集群的搭建,菜鸟升级大神必看
  • C语言之习题练习集
  • Buuctf [ACTF新生赛2020]Universe_final_answer 题解
  • 【Linux】环境变量
  • 单一职责原则
  • golangの并发编程(GMP模型)
  • MacBook Pro错误zsh: command not found: brew解决方法
  • spring中BeanFactory 和ApplicationContext
  • HC32L17x的LL驱动库之dma
  • SSM项目 替换为 SpringBoot