二叉树的最大深度 - 力扣(LeetCode)C语言

104. 二叉树的最大深度 - 力扣(LeetCode)(点击前面链接即可查看)

一、题目

给定一个二叉树 root ,返回其最大深度。

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

示例 1:

复制代码
输入:root = [3,9,20,null,null,15,7]
输出:3

示例 2:

复制代码
输入:root = [1,null,2]
输出:2

提示:

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

二、解题思路以及代码

求一个根的最大深度,就是求其孩子的最大深度,依次往下找,找到NULL,返回0,

看看这个根左边深还是右边深,返回更深的就可以。

复制代码
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
int maxDepth(struct TreeNode* root) 
{
    if(NULL == root)
        return 0;
    int LeftNum = maxDepth(root->left);
    int RightNum = maxDepth(root->right);
    return LeftNum > RightNum ?  LeftNum + 1 : RightNum + 1;
}
相关推荐
黑菜钟10 小时前
代码随想录第七天|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 18.四数之和
c++·算法·leetcode
Yingjun Mo10 小时前
1. 统计推断-ALMOND收敛性分析
人工智能·算法·机器学习
海梨花10 小时前
CSP认证练习题目推荐 (1)
算法·深度优先·csp
水饺编程11 小时前
Windows 命令行:cd 命令3,当前目录,父目录,根目录
c语言·c++·windows·visual studio
天上的光11 小时前
大模型——剪枝、量化、蒸馏、二值化
算法·机器学习·剪枝
kyle~11 小时前
C/C++---动态内存管理(new delete)
c语言·开发语言·c++
pzx_00111 小时前
【LeetCode】14. 最长公共前缀
算法·leetcode·职场和发展
self_myth11 小时前
算法与数据结构实战技巧:从复杂度分析到数学优化
算法
songx_9912 小时前
leetcode10(跳跃游戏 II)
数据结构·算法·leetcode
Yuki’12 小时前
网络编程---UDP
c语言·网络·网络协议·udp