题目来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。

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

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

      3 / \ 9  20/  \    15   7

返回它的最大深度 3 。

二叉树结点的定义:

public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) { val = x; }}

要求二叉树的最大深度,我们只需要知道其左子树的深度和右子树的深度,然后将两个比较取最大的,再加上1即可。也就是:
maxDepth = max(left, right) + 1
而要求其左子树和右子树的最大深度也是同样的方法,即可用递归,使用深度优先遍历。
代码如下:

public class Solution {/*** 最大深度 maxDepth = max(l, r) + 1;* @param root 二叉树根节点* @return 该二叉树的最大深度*/public int maxDepth(TreeNode root) {if (root == null) {return 0;}int left = maxDepth(root.left);int right = maxDepth(root.right);return Math.max(left, right) + 1;}}

LeetCode P104--二叉树的最大深度相关推荐

  1. Leetcode—— 104. 二叉树的最大深度

    104. 二叉树的最大深度 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,nu ...

  2. 精选力扣500题 第56题 LeetCode 104. 二叉树的最大深度【c++/java详细题解】

    目录 1.题目 2.思路 3.c++代码 4.java代码 1.题目 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. ...

  3. Leetcode 104.二叉树的最大深度 (每日一题 20210625)

    给定一个二叉树,找出其最大深度.二叉树的深度为根节点到最远叶子节点的最长路径上的节点数.说明: 叶子节点是指没有子节点的节点.示例: 给定二叉树 [3,9,20,null,null,15,7],3/ ...

  4. [leetcode]104.二叉树的最大深度

    给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15,7], ...

  5. LeetCode 104二叉树的最大深度-简单

    给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15,7], ...

  6. leetcode - 104. 二叉树的最大深度

    给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15,7], ...

  7. LeetCode 104.二叉树的最大深度(递归)

    题目描述 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,1 ...

  8. 【LeetCode】二叉树的最大深度

    给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,15,7,null,null], ...

  9. JS leetcode求二叉树的最大深度

    递归实现 思路:遍历左右结点获取深度,没下一层深度加1. function BTMaxDeep(root) {if (!root) {return 0;}let maxLeft = BTMaxDeep ...

  10. Leetcode 104. 二叉树的最大深度 解题思路及C++实现

    解题思路: 使用递归的方法,递归比较左右子树深度,返回较大的值 + 1. /*** Definition for a binary tree node.* struct TreeNode {* int ...

最新文章

  1. matlab编程实现基于密度的聚类(DBSCAN)
  2. qt 多个模型如何显示在表格中_Qt MOOC系列教程 第五章第四节:QML中的C++模型
  3. Java总复习(一)
  4. 解决 Python shell 中 Delete/Backspace 键乱码问题
  5. 在Linux环境安装memcached
  6. 导入Java文件还是class文件_java程序运行的时候,是把所有的class文件都加载到内存吗?还是用的什么加载什么?...
  7. 《系统集成项目管理工程师》必背100个知识点-60干系人管理
  8. KDD 2020 开源论文 | 稀疏优化的块分解算法
  9. Struts2框架原理
  10. 疫情期间,千万级系统宕机N次,老板撂下狠话:没法把性提升10倍,全员解雇!...
  11. DDL 操作表 删除
  12. Unreal Engine 4 —— 适用于FPS游戏的勾边后期效果
  13. 【和谐 OS】来了!鸿蒙现场视频解析
  14. c# 算式 计算器_C#计算器
  15. 将QQ拼音词库导入到搜狗拼音中
  16. Pycharm 编辑器文本中间出现有一条分割线
  17. 趣头条爬虫(以财经频道为例)
  18. scratch3.0自定义logo
  19. java实现视频文件转换为flv(带文件缩略图)_java实现视频文件转换为flv(带文件缩略图)...
  20. QT 如何实现QLabel的点击事件

热门文章

  1. Quartus Prime基础操作
  2. Trunk和Access分析
  3. SCI论文写作的学习与总结
  4. Leetcode_121_Best Time to Buy and Sell Stock
  5. getAttribute 和setAttribute 的使用方法
  6. windows文件系统格式及U盘格式化建议
  7. 电脑屏幕设置(亮度,防蓝光...)-台式机显示器
  8. 导航报错SetDestination() can only be called on an active agent that has been placed on a NavMesh
  9. numpy.meshgrid()理解
  10. 归并排序【算法解析,代码模板】