力扣104. 二叉树的最大深度

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



提示:

  • 树中节点的数量在 [0, 104] 区间内。
  • -100 <= Node.val <= 100

代码:

cpp 复制代码
/**
 * 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) {
        int right_depth, left_depth;
        
        if(root == nullptr){
            return 0;
        }

        right_depth = maxDepth(root->right) + 1;

        left_depth = maxDepth(root->left) + 1;

        return max(right_depth, left_depth);
    }
};

解题思路:

(1)使用递归思想。

(2)分别递归左右子树,每次递归就把深度+1。

(3)最后,比较左右子树深度,输出最大值。

相关推荐
Shaoshing1 小时前
前缀和与差分
java·数据结构·算法·前缀和·差分
mmmmath_31 小时前
LeetCode.429.N叉树的层序遍历
数据结构·leetcode
loulanyue_2 小时前
构建房产认知决策智能:Harness底座与AI自进化的技术实践——读贝壳首席算法科学家尹俊希2026云栖专场演讲
人工智能·算法
碧海银沙音频科技研究院2 小时前
基于炬芯ATS录音卡BLE控制协议
人工智能·嵌入式硬件·算法·语音识别
suhan3 小时前
【数据结构】三、栈和队列:6.链队列、双端队列、队列的应用(树的层次遍历、广度优先BFS、先来先服务FCFS)
数据结构·后端·算法
姜鱼问生3 小时前
Docker Volume 备份与恢复实战:不停机迁移数据
后端·算法·架构
suhan3 小时前
【数据结构】三、栈和队列:5.顺序队列(循环队列)(初始化,判空判满,入队,出队,实例)
数据结构·后端·算法
suhan3 小时前
【数据结构】三、栈和队列:3.链栈(链栈栈的初始化,判空,进栈,出栈,读取栈顶,链栈实例)
数据结构·后端·算法
大雄很用心3 小时前
如何理解时间复杂度与空间复杂度?| 面试刷题笔记02
算法
姜鱼问生3 小时前
服务器磁盘满了?从告警到清理的完整排查
后端·算法·架构