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

分析:

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

总结:

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

相关推荐
Gauss松鼠会13 小时前
【GaussDB】GaussDB SMP特性调优详解
java·服务器·前端·数据库·sql·算法·gaussdb
Tisfy13 小时前
LeetCode 3689.最大子数组总值 I:What The Medium
算法·leetcode·题解·贪心·模拟·脑筋急转弯
葬送的代码人生13 小时前
JavaScript 数组完全指南:从入门到实战
前端·javascript·算法
郭庆汝13 小时前
FastAPI使用笔记
笔记·fastapi
春日见13 小时前
决策规划控制面经汇总
人工智能·深度学习·算法·机器学习·自动驾驶
Full Stack Developme13 小时前
Java DFA算法
java·python·算法
爱讲故事的13 小时前
计算机网络第七章:无线与移动网络复习笔记
网络·笔记·计算机网络
fie888913 小时前
LBP + HOG 特征检测与识别 MATLAB 实现
数据结构·算法·matlab
小陈phd13 小时前
Text2SQL智能体学习笔记(一)——NL2SQL及执行流程介绍
笔记·学习
海天鹰13 小时前
图片去黑边算法
qt·算法