[LeetCode][LCR 175]计算二叉树的深度

题目

计算二叉树的深度

某公司架构以二叉树形式记录,请返回该公司的层级数。

  • 示例 1:
    在这里插入图片描述

输入:root = [1, 2, 2, 3, null, null, 5, 4, null, null, 4]
输出:4
解释:
上面示例中的二叉树的最大深度是 4,沿着路径 1 -> 2 -> 3 -> 4 或 1 -> 2 -> 5 -> 4
到达叶节点的最长路径上有 4 个节点。

  • 提示:
    节点总数 <= 10000

思考

  1. 对二叉树进行分解,可得:从一个根出发,其最大深度为根的子树中深度最大的那个子树的深度+1
  2. 然后对子树深度进行分析,可得深度计算是递归思想
  3. 当越过叶子节点时返回,从下至上,每次将左右子树中最大的深度返回并加上1,然后返回到上一层

class Solution {
public:int calculateDepth(TreeNode* root) {if(!root) return 0;return max(calculateDepth(root->left), calculateDepth(root->right))+1;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/536397.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解Python中的面向对象编程(OOP)【第129篇—Scikit-learn的入门】

深入理解Python中的面向对象编程&#xff08;OOP&#xff09; 在Python编程领域中&#xff0c;面向对象编程&#xff08;Object-Oriented Programming&#xff0c;简称OOP&#xff09;是一种强大而灵活的编程范式&#xff0c;它允许开发者以对象为中心组织代码&#xff0c;使得…

白酒:生产过程的智能化与自动化升级改造

在当今的工业生产中&#xff0c;智能化与自动化已成为提进一步率、品质和竞争力的关键因素。云仓酒庄紧跟时代步伐&#xff0c;对豪迈白酒的生产过程进行了一系列智能化与自动化升级改造&#xff0c;旨在提升生产效率、确保产品质量的同时&#xff0c;降低生产成本。 首先&…

Python XML数据处理库之xmltodict使用详解

概要 在 Python 的开发中,处理 XML 数据是一项常见的任务。然而,Python 标准库中的 XML 解析器使用起来可能较为繁琐,需要编写大量的代码来处理 XML 数据。幸运的是,有一个名为 xmltodict 的第三方库可以帮助我们简化这个过程。本文将深入探讨 xmltodict 库的各个方面,包…

IDEA启动时,电脑非常的卡

选择Help -> Change memory Settings 把启动内存调大一点就行了&#xff0c;反正要超过你平时使用IDEA时使用到的内存大小就行。 原因解释&#xff1a; JVM在运行时会回收新生代和老年代的垃圾&#xff0c;新生代无法回收的对象&#xff0c;比如&#xff1a;回收15次都没有…

Skywalking(9.7.0) 告警配置

图片被吞&#xff0c;来这里看吧&#xff1a;https://juejin.cn/post/7344567669893021736 过年前一天发版&#xff0c;大家高高兴兴准备回家过年去了。这时候老板说了一句&#xff0c;记得带上电脑&#xff0c;关注用户反馈。有紧急问题在高速上都得给我找个服务区改好。 但是…

【基础CSS】

本文章属于学习笔记&#xff0c;在https://www.freecodecamp.org/chinese/learn/2022/responsive-web-design/中练习 二、 CSS 样式&#xff0c;新建一个文件.css&#xff0c;该文件不含有style标签 <style>. h1&#xff0c;h2&#xff0c;p{ text-align&#xff1a;ce…

【零基础学习05】嵌入式linux驱动中platform与设备树基本实现

大家好,为了进一步提升大家对实验的认识程度,每个控制实验将加入详细控制思路与流程,欢迎交流学习。 今天主要学习一下,基于总线、设备和驱动进行匹配的平台驱动模型,这次将采用设备树的platform设备与驱动的编写方法,目前绝大多数的Linux内核已经支持设备树,这次主要来…

Java String 类

创建字符串 当然创建的方法很多这里我们举例两种十分常见的办法&#xff01; 最简单的方法&#xff01; String str1 "Runoob"; 使用关键字和构造方法来创建 String 对象。 String str2new String("Runoob"); 我们当然知道&#xff0c;String出来的…

https超文本传输安全协议到底是什么?

HTTPS&#xff08;全称&#xff1a;Hyper Text Transfer Protocol over Secure Socket Layer&#xff09;是超文本传输安全协议的英文翻译缩写&#xff0c;它是以安全为目标的HTTP通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS在HTTP的基…

FreeRTOS操作系统学习——中断管理

中断管理介绍 嵌入式实时系统需要对整个系统环境产生的事件作出反应。这些事件对处理时间和响应时间都有不同的要求。事件通常采用中断方式检测&#xff0c;中断服务例程(ISR)中的处理量应当越短越好。ISR是在内核中被调用的&#xff0c; ISR执行过程中&#xff0c;用户的任务…

【LeetCode热题100】73. 矩阵置零(矩阵)

一.题目要求 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 二.题目难度 中等 三.输入样例 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0…

现代化的轻量级Redis桌面客户端Tiny RDM

​欢迎光临我的博客查看最新文章: https://river106.cn 1、简介 Tiny RDM&#xff08;全称&#xff1a;Tiny Redis Desktop Manager&#xff09;是一个界面现代化的轻量级Redis桌面客户端&#xff0c;支持Linux、Mac和Windows。它专为开发和运维人员设计&#xff0c;使得与Red…