首页 > 其他分享 >力扣---104. 二叉树的最大深度

力扣---104. 二叉树的最大深度

时间:2023-05-15 20:24:38浏览次数:36  
标签:力扣 res dfs --- 二叉树 深度 root 节点

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

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

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

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

3
/ \
9 20
/ \
15 7
返回它的最大深度 3 。

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


 

深度优先或者广度优先。

深度优先直接在叶子节点判断长度,广度优先需要记录最大深度。

class Solution {
    public int maxDepth(TreeNode root) {
        return dfs(root, 0);
    }
    private int dfs (TreeNode root, int res) {
        if (root == null) {
            return res;
        }
        res ++;
        return Math.max(dfs(root.left, res), dfs(root.right, res));
    }
}

 

标签:力扣,res,dfs,---,二叉树,深度,root,节点
From: https://www.cnblogs.com/allWu/p/17402969.html

相关文章

  • 5.8-5.14
    C1.PokémonArmy(easyversion)Problem-1420C1-Codeforces线性dp呃啊啊啊啊啊啊啊太久没写dp了,下周开始要把重点放到算法上意识到是个dp后就很简单了,状态转移方程也很好写出\[\begin{cases}f[i][0]\=\max(f[i-1][0],\f[i-1][1]+num[i]\\f[i][1]\=\max(f[i-1][......
  • hdu:Let's go home(2-SAT)
    ProblemDescription小时候,乡愁是一枚小小的邮票,我在这头,母亲在那头。——余光中集训是辛苦的,道路是坎坷的,休息还是必须的。经过一段时间的训练,lcy决定让大家回家放松一下,但是训练还是得照常进行,lcy想出了如下回家规定,每一个队(三人一队)或者队长留下或者其余两名队员同时留下;每......
  • citect2018R2报警函数练习1-做一个简单的报警显示页面
    这一个笔记我在新浪博客记录过,地址是Citect2018R2报警函数练习1-做一个简单的报警显示页面_来自金沙江的小鱼_新浪博客(sina.com.cn) 这两天看citect一些文档,想着练习一下Cicode的报警函数。新建一个Unity项目,简单的配一下硬件 写简单的程序新建一个Citect2018R2程序,使......
  • Java设计模式-桥接模式
    简介桥接模式(BridgePattern)是一种结构性设计模式,它的主要作用是将抽象部分和实现部分解耦,使它们可以独立变化而不会互相影响。桥接模式最早由GoF(GangofFour)提出,在《设计模式》一书中有详细的介绍。桥接模式和其他设计模式的区别在于它关注的是如何将抽象和实现分离,从而达到灵......
  • ORA-02049:超时:分布式事务处理等待锁 问题解决
    数据库添加DBLink后,很容易出现一个问题:ORA-02049:超时:分布式事务处理等待锁ORA-02063:紧接着line(起自ODS_LINK) 问题原因分析:第一次执行操作后出错,数据库没有提交或回退,未关闭原有数据库窗口,重新打开新窗口执行数据插入操作,报ORA-02049错误。解决办法:数据库登陆管理员账号查看1、......
  • LeetCode 101. 对称二叉树
    题目链接:LeetCode101.对称二叉树题意:给你一个二叉树的根节点root,检查它是否轴对称。解题思路:1.递归法采用递归法思路就比较简单,因为要比较二叉树是否是轴对称的,因此就是比较左右子树是否轴对称,因此在遍历的过程中,就是比较左边的左子树与右边的右子树是否相等,以及左......
  • JAVA反序列化-URLDNS分析
    目录0x01URLDNS0x02利用链分析本文基于P大的《java安全漫谈》环境jdk1.7urldns是学习JAVA反序列化的入门利用链0x01URLDNSURLDNS就是ysoserial中⼀个利⽤链的名字,但准确来说,这个其实不能称作“利⽤链”。因为其参数不是⼀个可以“利⽤”的命令,⽽仅为⼀个URL,其能触发的结......
  • 【深入浅出 Yarn 架构与实现】6-4 Container 生命周期源码分析
    本文将深入探讨AM向RM申请并获得Container资源后,在NM节点上如何启动和清理Container。将详细分析整个过程的源码实现。一、Container生命周期介绍Container的启动由ApplicationMaster通过调用RPC函数ContainerManagementProtocol#startContainers()发起请求,NM......
  • Java并发(六)----线程start、run、state方法
    1、start与run调用runpublicstaticvoidmain(String[]args){  Threadt1=newThread("t1"){    @Override    publicvoidrun(){      log.debug(Thread.currentThread().getName());//打印线程名称      FileRe......
  • element-plus + VUE3 项目 build 之后 el-cascader无法选中而且导致整个网页卡顿
    cascader不能用v-model接收值,需要改为model-value方式<el-cascadermodel-value="selRegion":options="RegionTreeCascader":show-all-levels="true"separator="-":props="{checkStrictly:true,expandTrigger:'hove......