微信改版,加星标不迷路!

每日一算法-二叉树的最大深度

作者:阿广

阅读目录

? 题目

? 解析

? 完整代码

1 题目


给定一个二叉树,找出其最大深度。

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

说明: 叶子节点是指没有子节点的节点。

示例:
给定二叉树 [3,9,20,null,null,15,7]

3   / \  9  20    /  \   15   7

返回它的最大深度 3 。


2 解析


直观的方法是通过递归来解决问题。在这里,我们演示了 DFS(深度优先搜索)策略的示例。方便快捷,直接使用下图进行解释!

3 完整代码


/**
* Definition for a binary tree node.
* struct TreeNode {
*     int val;
*     TreeNode *left;
*     TreeNode *right;
*     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
   int maxDept = 0;
   int dept = 1;
   int maxDepth(TreeNode* root) {
       if(root == NULL){
           return 0;
       }else{
           int leftHeight = maxDepth(root->left);
           int rightHeight = maxDepth(root->right);
           return leftHeight>rightHeight ? leftHeight + 1 :  rightHeight + 1;
       }
   }
};


4 结果

今日问题

如何看待互联网寒冬?我们应该怎么防御?

打卡格式:打卡第n天,答:...

为什么打卡?戳下面就知道了!

21/天/养/一/个/好/习/惯

【每日一算法】二叉树的最大深度相关推荐

  1. 常考数据结构与算法:二叉树的最大深度

    题目描述 求给定二叉树的最大深度, 最大深度是指树的根结点到最远叶子结点的最长路径上结点的数量. class TreeNode {int val;TreeNode left;TreeNode righ ...

  2. 算法 --- 二叉树的最大深度

    思路: 1.二叉树的深度,等于Max(左子树最大深度,右子树最大深度) + 1 2.节点不存在时,此时的深度为0 3.当节点存在,左右子树不存在时(此时为叶子节点) 返回1 /*** Definiti ...

  3. 【每日一算法】二叉树的层次遍历 II

    每日一算法-二叉树的层次遍历 II 题目 给定一个二叉树,返回其节点值自底向上的层次遍历. (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,n ...

  4. 【每日一算法】二叉树的最小深度

    每日一算法-二叉树的最小深度 题目 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,2 ...

  5. 【每日一算法】二叉树中所有距离为 K 的结点

    微信改版,加星标不迷路! 每日一算法-二叉树中所有距离为K的节点 给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K . 返回到目标结点 target 距离为 K ...

  6. 【每日一算法】对称二叉树

    每日一算法-对称二叉树 题目 给定一个二叉树,检查它是否是镜像对称的. 例如,二叉树 [1,2,2,3,4,4,3] 是对称的. 1   / \  2   2 / \ / \ 3  4 4  3 但是 ...

  7. 二叉树常见算法题(单值二叉树、二叉树的最大深度、反转二叉树、判断两颗二叉树是否相同、对称二叉树、一颗二叉树是否是另一颗二叉树的子树)

    这里的代码都是递归实现的,再强调下二叉树的概念,二叉树的构成有两种情况: 1.空树 2.根节点 + 左子树 + 右子树(这里的左子树和右子树又是一颗二叉树) 可以看出二叉树就是递归定义的,下面的算法题 ...

  8. 算法_二叉树_二叉树的最大深度

    文章目录 二叉树的最大深度 1.两种解法 递归法--后序遍历 迭代法--层序遍历 2.总结 推荐题目 二叉树的最大深度 leetcode链接 1.两种解法 递归法–后序遍历 采用后序遍历,先处理左孩子 ...

  9. 【每日一算法】平衡二叉树

    微信改版,加星标不迷路! 每日一算法-搜索插入位置 作者:阿广 阅读目录 ? 题目 ? 解析 ? 完整代码 1 题目 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: ...

最新文章

  1. pip install 豆瓣源、清华源、阿里源、中国科技大学源
  2. subprocess installed post-installation script returned error exit status 1
  3. ML之RF:基于Matlab利用RF算法实现根据乳腺肿瘤特征向量高精度(better)预测肿瘤的是恶性还是良性
  4. hdu 3836 Equivalent Sets
  5. linux创建脚本文件auto,linux 自动化部署脚本
  6. c++ 删除二叉树的子树_数据结构—树|二叉树|前序遍历、中序遍历、后序遍历【图解实现】...
  7. Android 系统(234)---Android 代号、标签和版本号
  8. L1-026 I Love GPLT
  9. springboot controller调用service_秀!这款工具让SpringBoot不再需要Controller、Service、DAO、Mapper!...
  10. java hashmap 无序_Map的有序和无序实现类,与Map的排序
  11. Xcode :error: linker command failed with exit code 1(use -v to see invocation) 或 libstdc++.6.0缺失问题
  12. 经典坦克大战——C++实现(附源码)
  13. 广义瑞利商_LDA里的瑞利商和广义瑞利商
  14. 安卓机自动肝手游脚本
  15. 域名注册、域名实名认证、域名解析流程详解
  16. 显示器还有卖的吗_显示器不够好,你确定修的片能好看? | 摄影早自习第1365天...
  17. ubuntu18.04应用图标怎么放到桌面
  18. 三维建模软件查看器Rocky-view(免费)
  19. hi3559Av100 行车记录仪系统框图
  20. C语言示例,三个骰子

热门文章

  1. 推荐 2个十分好用的 pandas 数据探索分析神器!
  2. AI 技术升级,这一新方法遏制在线语言骚扰
  3. 微软亚洲研究院副院长刘铁岩:AI如何助力节能减排?
  4. 懂数学的程序员能有多吃香?这是我听过最好的答案丨颠覆认知
  5. 工作5年后才明白的道理:不起眼的技能中,藏着你的未来
  6. AI发展这一年:不断衍生的技术丑闻与抵制声潮
  7. 腾讯优图开源业界首个3D医疗影像大数据预训练模型
  8. 百度ERNIE 2.0发布!16项中英文任务表现超越BERT和XLNet
  9. 加速AI应用落地,英特尔AI 2.0的进阶之道
  10. Redis 缓存使用技巧和设计方案