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);
}

分析:

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

总结:

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

相关推荐
蒋星熠13 分钟前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
小欣加油39 分钟前
leetcode 面试题01.02判定是否互为字符重排
数据结构·c++·算法·leetcode·职场和发展
3Cloudream43 分钟前
LeetCode 003. 无重复字符的最长子串 - 滑动窗口与哈希表详解
算法·leetcode·字符串·双指针·滑动窗口·哈希表·中等
王璐WL1 小时前
【c++】c++第一课:命名空间
数据结构·c++·算法
aramae1 小时前
C++ -- 模板
开发语言·c++·笔记·其他
空白到白2 小时前
机器学习-聚类
人工智能·算法·机器学习·聚类
小马学嵌入式~2 小时前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
索迪迈科技2 小时前
java后端工程师进修ing(研一版 || day40)
java·开发语言·学习·算法
hour_go2 小时前
用户态与内核态的深度解析:安全、效率与优化之道
笔记·操作系统
zzzsde2 小时前
【数据结构】队列
数据结构·算法