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

leetcode——二叉树的最大深度(java)

给定一个二叉树 root ,返回其最大深度。

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

示例 1:

img

输入:root = [3,9,20,null,null,15,7]
输出:3

示例 2:

输入:root = [1,null,2]
输出:2

解题方法:(自底向上递归)

1.递归入口:当前节点非空;否则,返回0

2.然后开始进入左子树递归获取左子树的深度;进入右子树递归获取右子树的深度。

3.最后返回左子树与右子树深度的最大值并且加1(把根节点也算上);

/**
 * 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;
        } 
        int left = maxDepth(root.left);
        int right = maxDepth(root.right);
        return Math.max(left, right) + 1;
    }
}


http://www.kler.cn/a/524895.html

相关文章:

  • Selenium 浏览器操作与使用技巧——详细解析(Java版)
  • 8. 网络编程
  • 鸢尾花书01---基本介绍和Jupyterlab的上手
  • 杨立昆退休?中国Deepseek超Llama 4触发Meta
  • 单片机基础模块学习——超声波传感器
  • Python的那些事第五篇:数据结构的艺术与应用
  • 【redis】redis操作zset类型的key发生了什么?
  • 企业知识管理平台助力企业创新与竞争力提升的有效策略探讨
  • 网关登录校验
  • Qwen2.5-max 性能
  • JAVA实战开源项目:网上超市系统(Vue+SpringBoot) 附源码
  • 蓝桥备赛指南(5)
  • TCP 握手数据包分析
  • 「AI学习笔记」深度学习的起源与发展:从神经网络到大数据(二)
  • 【自学笔记】计算机网络的重点知识点-持续更新
  • 格式化时间的插件
  • SET alter system reload
  • 如何看待 OpenAI 的12天“shipmas”发布计划?
  • CTFSHOW-WEB入门-命令执行29-32
  • Linux文件原生操作