首页 > 编程语言 >leetcode 104. 二叉树的最大深度(java实现)

leetcode 104. 二叉树的最大深度(java实现)

时间:2023-06-13 15:02:02浏览次数:58  
标签:java int leetcode 二叉树 深度 root 节点 maxDepth



104. 二叉树的最大深度

  • 标题
  • 解法


标题

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

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

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

解法

public class Solution {
    public int maxDepth(TreeNode root) {
        // 如果节点为空,返回深度为0
        if (root == null) {
            return 0;
        }
        // 递归计算左子树的深度
        int leftDepth = maxDepth(root.left);
        // 递归计算右子树的深度
        int rightDepth = maxDepth(root.right);
        // 返回左右子树深度的最大值,加上1,即为根节点到最远叶子节点的最长路径上的节点数
        return Math.max(leftDepth, rightDepth) + 1;
    }
}


标签:java,int,leetcode,二叉树,深度,root,节点,maxDepth
From: https://blog.51cto.com/u_16159391/6470224

相关文章

  • Java反射(Class类)常用方法(附Xmind整理)
    文章目录一、类加载器1、Java类加载机制2、ClassLoader类加载器二、获取Class对象的方式1、Class.forName("全类名")2、类名.class3、对象.getClass()三、常用方法:1、获取构造方法、成员方法、成员变量(公开的public)2、获取构造方法、成员方法、成员变量(所有的public+private)3......
  • java垃圾回收(GC)机制
    一、为什么要进行垃圾回收?因为内存的容量是有限的。二、如果判断一个对象需要回收?1、引用计数算法:给每个对象中加一个引用计数器。每增加一个引用,计数器就+1。当计数器为0时,代表没有引用。因为有循环引用的存在,所以java虚拟机不再使用引用计数算法。2、可达性分析算法:通过GCR......
  • java如何往List<? extends number>中加入元素?体会范型集合父子关系以及范型通配符的使用
    以下来自一个stackoverflow的一个问答,写的很清楚。基本上就是子类集合的引用付给父类引用,如果父类的引用变量声明的是<?extendsParent>,则父类引用变量只能对集合进行读操作,读出来的变量是Parent类型,这是因为不确定该父类引用变量指向的是什么类型的集合,可以是Child1,也可以C......
  • Java:如何写好代码,少点bug
    前言工作差不多两年了。2021-04-14实习入职,至今2023-04-07,和大佬相比我这还是属于初级程序员,技术不强。平时写代码没啥技术含量,但真的挺多同事连基本的CRUD都写不好,不管是代码规范还是安全性问题都有很大的纰漏,所以觉得自己最大的骄傲就是代码规范,bug少。同时希望刚工作不久的......
  • java 泛型 深入
    评:泛型的好处:(casting)的绝对无误。/*******不使用泛型类型*******/Listlist1=newArrayList();list1.add(8080);//编译器不检查值String......
  • [LeetCode] 2475. Number of Unequal Triplets in Array
    Youaregivena 0-indexed arrayofpositiveintegers nums.Findthenumberoftriplets (i,j,k) thatmeetthefollowingconditions:0<=i<j<k<nums.lengthnums[i], nums[j],and nums[k] are pairwisedistinct.Inotherwords, nums[i]!=......
  • 【技术积累】JavaSciprt中的函数【一】
    什么是函数?如何声明函数?JavaScript中的函数是一段可重复使用的代码块,它可以接受输入并返回输出。在JavaScript中,函数是一种特殊的对象,因此可以将其存储在变量中,将其作为参数传递给其他函数,并从其他函数中返回。在JavaScript中,声明函数有两种方式:函数声明和函数表达式。1.函数......
  • Java8 Stream List Map:Stream 流对象汇总 求和 某个属性 BigDecimal MDouble
    测试实体(数字对象使用MDouble):importcom.mchweb.common.lang.MDouble;importlombok.*;@Getter@Setter@Builder(toBuilder=true)@NoArgsConstructor@AllArgsConstructorpublicclassUser{privateMDoublemoney;}importcom.mchweb.common.lang.MDouble;imp......
  • 【LeetCode专题#基本计算器】基本计算器I,图解中序表达式转逆波兰表达式,太难了
    基本计算器https://leetcode.cn/problems/basic-calculator/?envType=list&envId=cKNEfNsF给你一个字符串表达式s,请你实现一个基本计算器来计算并返回它的值。注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如eval()。示例1:输入:s="1+1"输出:2示例2:......
  • 你真的读懂了Java源码?Collections源码初探
    最近重温Java知识,遇到不懂的问题搜索互联网/博客很难直接找到答案,还好如今有了chatGPT,比大多数CV复读机/纯文档翻译的内容更有用。很多文章总结冠以“深入理解xxx”,“万字长文详解xxx”的文章,也不过是演示一遍调用代码,让你知道了怎么用,在什么情况下用。但至于为什么这么用,以及Java......