当前位置: 首页 > news >正文

2025年- G23-Lc97-104.二叉树的最大深度-java版(递归调用左右子树)

1.题目描述

在这里插入图片描述

2.思路

要用到max函数,返回的时候返回左右子树的最大值。其次要递归调用左右子树,寻找最大深度。
在每个递归返回时,我们 必须把当前节点的深度算进去,否则我们只计算了子树的深度,而没有包括当前节点。

3.代码实现

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public int maxDepth(TreeNode root) {
        if(root==null)
        {
            return 0;// 空节点深度为 0
        }

        int rightDepth=maxDepth(root.right);// 计算左子树深度
        int leftDepth=maxDepth(root.left);// 计算右子树深度
        return  Math.max(rightDepth,leftDepth)+1;// 取最大值 +1(加上当前层)
        
        
    }
}

相关文章:

  • 基于Python编程语言实现“机器学习”,用于车牌识别项目
  • 林阳域管理系统功能简介
  • Oracle 数据库安全评估(DBSAT)简明过程
  • Java 大视界 -- Java 大数据在智能医疗远程会诊与专家协作中的技术支持(146)
  • Python在数据科学中的应用:完整指南
  • 【高并发内存池】第三弹---构建Central Cache的全方位指南——从整体设计到核心实现
  • 《C++11 基于CAS无锁操作的atomic原子类型》
  • 头歌 JAVA 桥接模式实验
  • UI数据处理新隐私保护:确保用户新信息安全
  • 固定公网 IP
  • 【浙大PTA:L1系列题目】
  • NFS 安装与测试
  • 如何在SQL中高效使用聚合函数、日期函数和字符串函数:实用技巧与案例解析
  • 001 你好LabVIEW
  • 如何理解java中Stream流?
  • 对IKFOM论文中一些关键内容的理解
  • github如何为开源项目作出贡献
  • 高防ip和高防服务器的区别?
  • MSE分类时梯度消失的问题详解和交叉熵损失的梯度推导
  • 高能ISP模块功能说明
  • 美国关税压力下,日本经济一年来首次萎缩
  • 龚正会见哥伦比亚总统佩特罗
  • 因港而兴,“长江黄金水道”上的宜宾故事
  • 视频丨中国海警成功救助8名外籍遇险渔民,韩方向中方致谢
  • 上海国际电影节纪录片单元,还世界真实色彩
  • 沙青青评《通勤梦魇》︱“人机组合”的通勤之路