LeetCode P104--二叉树的最大深度
题目来源:力扣(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--二叉树的最大深度相关推荐
- Leetcode—— 104. 二叉树的最大深度
104. 二叉树的最大深度 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,nu ...
- 精选力扣500题 第56题 LeetCode 104. 二叉树的最大深度【c++/java详细题解】
目录 1.题目 2.思路 3.c++代码 4.java代码 1.题目 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. ...
- Leetcode 104.二叉树的最大深度 (每日一题 20210625)
给定一个二叉树,找出其最大深度.二叉树的深度为根节点到最远叶子节点的最长路径上的节点数.说明: 叶子节点是指没有子节点的节点.示例: 给定二叉树 [3,9,20,null,null,15,7],3/ ...
- [leetcode]104.二叉树的最大深度
给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15,7], ...
- LeetCode 104二叉树的最大深度-简单
给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15,7], ...
- leetcode - 104. 二叉树的最大深度
给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15,7], ...
- LeetCode 104.二叉树的最大深度(递归)
题目描述 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,1 ...
- 【LeetCode】二叉树的最大深度
给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,15,7,null,null], ...
- JS leetcode求二叉树的最大深度
递归实现 思路:遍历左右结点获取深度,没下一层深度加1. function BTMaxDeep(root) {if (!root) {return 0;}let maxLeft = BTMaxDeep ...
- Leetcode 104. 二叉树的最大深度 解题思路及C++实现
解题思路: 使用递归的方法,递归比较左右子树深度,返回较大的值 + 1. /*** Definition for a binary tree node.* struct TreeNode {* int ...
最新文章
- matlab编程实现基于密度的聚类(DBSCAN)
- qt 多个模型如何显示在表格中_Qt MOOC系列教程 第五章第四节:QML中的C++模型
- Java总复习(一)
- 解决 Python shell 中 Delete/Backspace 键乱码问题
- 在Linux环境安装memcached
- 导入Java文件还是class文件_java程序运行的时候,是把所有的class文件都加载到内存吗?还是用的什么加载什么?...
- 《系统集成项目管理工程师》必背100个知识点-60干系人管理
- KDD 2020 开源论文 | 稀疏优化的块分解算法
- Struts2框架原理
- 疫情期间,千万级系统宕机N次,老板撂下狠话:没法把性提升10倍,全员解雇!...
- DDL 操作表 删除
- Unreal Engine 4 —— 适用于FPS游戏的勾边后期效果
- 【和谐 OS】来了!鸿蒙现场视频解析
- c# 算式 计算器_C#计算器
- 将QQ拼音词库导入到搜狗拼音中
- Pycharm 编辑器文本中间出现有一条分割线
- 趣头条爬虫(以财经频道为例)
- scratch3.0自定义logo
- java实现视频文件转换为flv(带文件缩略图)_java实现视频文件转换为flv(带文件缩略图)...
- QT 如何实现QLabel的点击事件
热门文章
- Quartus Prime基础操作
- Trunk和Access分析
- SCI论文写作的学习与总结
- Leetcode_121_Best Time to Buy and Sell Stock
- getAttribute 和setAttribute 的使用方法
- windows文件系统格式及U盘格式化建议
- 电脑屏幕设置(亮度,防蓝光...)-台式机显示器
- 导航报错SetDestination() can only be called on an active agent that has been placed on a NavMesh
- numpy.meshgrid()理解
- 归并排序【算法解析,代码模板】