leetcode做题笔记104. 二叉树的最大深度

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

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

思路一:递归

cpp 复制代码
int dfs(struct TreeNode* node){
    int rdepth = 1;
    int ldepth = 1;

    if(node->left!=NULL) ldepth = rdepth + dfs(node->left);
    if(node->right!=NULL) rdepth = rdepth +dfs(node->right);

    if(ldepth>rdepth)return ldepth;
    else return rdepth;

}
int maxDepth(struct TreeNode* root){
    if(root==NULL)return 0;
    return dfs(root);
}

分析:

本题要求二叉树的最大深度,可想到将左子树深度和右子树深度分别记录下来,最后比较左右子树深度输出最大深度

总结:

本题考察二叉树的应用,将左右子树分别递归求出最大深度输出即可

相关推荐
add45a2 分钟前
C++中的原型模式
开发语言·c++·算法
2401_844221323 分钟前
C++类型推导(auto/decltype)
开发语言·c++·算法
2201_753877793 分钟前
高性能计算中的C++优化
开发语言·c++·算法
hans汉斯4 分钟前
基于区块链和语义增强的科研诚信智能管控平台
人工智能·算法·yolo·数据挖掘·区块链·汉斯出版社
2501_945425154 分钟前
分布式系统容错设计
开发语言·c++·算法
冷小鱼6 分钟前
机器学习极简入门:从外卖预测到AI核心算法
人工智能·算法·机器学习
黄嚯嚯7 分钟前
从字段堆砌到类型建模:一个 PricingDetails 的重构实践
java·笔记
2401_8845632412 分钟前
C++代码重构实战
开发语言·c++·算法
小王不爱笑13213 分钟前
二叉排序树从入门到实践:攻克构建与遍历核心逻辑
开发语言·python·算法
2401_8319207426 分钟前
C++中的桥接模式
开发语言·c++·算法