二叉树的最大深度 - 力扣(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;
}
相关推荐
All for pursuit.3 小时前
【分治-3】347.前K个高频元素
数据结构·c++·算法·leetcode
SuperByteMaster3 小时前
低功耗GPIO引脚配置
c语言
索尔~古德曼4 小时前
CF(1400-1400&1300-1500)错题集
算法
phltxy4 小时前
C 语言自定义类型:结构体、位段、枚举与联合体
c语言·开发语言
All for pursuit.5 小时前
【二分查找-2】34.在排序数组中查找元素的第一个和最后一个位置
数据结构·c++·算法·leetcode
泯泷5 小时前
为什么 AI 会"失忆"?——读懂 Agent 的记忆系统(一)
人工智能·算法·agent
大侠归来5 小时前
C语言与C++在基础语法上的区别
java·c语言·c++
bro_Java6665 小时前
链表进阶2:双向链表的构建
java·数据结构·链表
cu1436 小时前
细谈GM8229的具体功能与其应用
c语言·c++·人工智能·单片机
需要8266 小时前
分布式 ID 生成:雪花算法、号段模式与时钟回拨
分布式·算法