LCR 175. 计算二叉树的深度

一、题目描述 LCR 175. 计算二叉树的深度

二、思路

递归求左右子树的高度
 

三、解题思路

把大规模的问题拆分成小规模的问题
1、要求根节点的二叉树深度
2、转换子问题:求左子树为根节点的二叉树深度
3、转换子问题:成求右子树为根节点的二叉树深度
4、最后返回左右子树较大的二叉树深度+1即为根节点二叉树深度

四、代码实现

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    int calculateDepth(TreeNode* root) {
        if(root==NULL)
        return 0;
        //计算左子树的深度
        int left=calculateDepth(root->left);
        //计算右子树的深度
        int right=calculateDepth(root->right);
        //返回左右子树深度较高的数+1
        return (left>right?left:right)+1;
    }
};

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为北向网管NCE开发教程(2)REST接口开发

华为北向网管NCE开发教程(1)闭坑选接口协议 华为北向网管NCE开发教程(2)REST接口开发 华为北向网管NCE开发教程(3)CORBA协议开发 假设你现在要开始华为北向接口REST协议之前,需要准备如环境 1准…

OpenHarmony教程指南-自定义通知推送

介绍 本示例主要展示了通知过滤回调管理的功能,使用ohos.notificationManager 接口,进行通知监听回调,决定应用通知是否发送。 效果预览 使用说明 1.在使用本应用时,需安装自定义通知角标应用; 2.在主界面&#xff…

Golang基于Redis bitmap实现布隆过滤器(完结版)

Golang基于Redis bitmap实现布隆过滤器(完结版) 为了防止黑客恶意刷接口(请求压根不存在的数据),目前通常有以下几种做法: 限制IP(限流)Redis缓存不存在的key布隆过滤器挡在Redis前 …

ChatGLM:CPU版本如何安装和部署使用

前段时间想自己部署一个ChatGLM来训练相关的物料当做chatgpt使用,但是奈何没有gpu机器,只能使用cpu服务器尝试使用看看效果 我部署的 Chinese-LangChain 这个项目,使用的是LLM(ChatGLM)embedding(GanymedeNil/text2vec…

【活动】2024年AI辅助研发:深度变革与无限潜力

作为一名前端程序员,深入探讨2024年AI在软件研发领域的应用趋势及其影响,我们可以看到一场引人注目的转型正在发生。AI辅助研发对于前端开发而言,不仅意味着效率的飞跃,更是在用户体验设计、代码编写、性能优化、项目管理等诸多方…

什么是Java内存模型

当问到 Java 内存模型的时候,一定要注意,Java 内存模型(Java Memory Model,JMM)它和 JVM 内存布局(JVM 运行时数据区域)是不一样的,它们是两个完全不同的概念。 1.为什么要有 Java …

Windows按文件类型指定默认应用程序方法,.py文件设置默认打开程序实例演示

有两种方法可以设置按文件类型指定默认应用。 一个是系统的设置,但是部分类型里面是没有的,这种就要通过注册表来添加。 如果没有的话,通过 winR 打开运行,然后输入 regedit 打开注册表,在 计算机\HKEY_CLASSES_ROO…

防御保护--IPSEC VPPN实验

实验拓扑图 实验背景:FW1和FW2是双机热备的状态。 实验要求:在FW5和FW3之间建立一条IPSEC通道,保证10.0.2.0/24网段可以正常访问到192.168.1.0/24 IPSEC VPPN实验配置(由于是双机热备状态,所以FW1和FW2只需要配置FW1…

实景三维逛景区,VR智慧景区打造云上旅游新体验

哈尔滨旅游的爆火,让其他地方的文旅景区宣传也纷纷发力。VR智慧景区将传统的旅游体验从线下拓展至线上,为游客带来不一样的旅行体验,人们可以提前在手机上沉浸式体验景区的真实环境,避免实地游玩踩雷,也为人们节省了旅…

COMSOL中使用自定义函数

目录 函数的用法 (1)解析函数 (2)插值函数 (3)分段函数 (4)高斯脉冲 (5)斜坡函数 (6)阶跃函数 (7)矩形…

JAVA实战开源项目:电子元器件管理系统(Vue+SpringBoot)

目录 一、摘要1.1 项目简介1.2 项目录屏 二、研究内容三、界面展示3.1 登录&注册&主页3.2 元器件单位模块3.3 元器件仓库模块3.4 元器件供应商模块3.5 元器件品类模块3.6 元器件明细模块3.7 元器件类型模块3.8 元器件采购模块3.9 元器件领用模块3.10 系统基础模块 四、…

BlackHole

BlackHole 文章目录 BlackHole一、关于 BlackHole功能描述 二、安装、卸载安装方式一:下载安装器方式二:使用 Homebrew 安装 卸载方式一:使用卸载器方式二:手动卸载 三、用户使用指南1、Logic Pro X2、GarageBand3、Reaper4、录制…

线程有几种状态,状态之间的流转是怎样的?

Java中线程的状态分为6种: 1.初始(NEW):新创建了一个线程对象,但还没有调用start()方法。 2.运行(RUNNABLE):Java线程中将就绪(READY)和运行中(RUNNING)两种状态笼统的称为“运行”…

2024 批量下载公众号文章内容/阅读数/在看数/点赞数/留言数/粉丝数导出pdf文章备份(带留言):公众号爱在冰川近3000篇历史文章在线查看,找文章方便了

关于公众号文章批量下载,我之前写过很多文章: 视频更新版:批量下载公众号文章内容/话题/图片/封面/音频/视频,导出html,pdf,excel包含阅读数/点赞数/留言数 2021陶博士2006/caoz的梦呓/刘备我祖/六神读金…

自研cloud框架专题–web模块(三)

项目特点一:框架集成 1.引入核心依赖2.配置相关功能 二:功能介绍 1.swagger支持并提供swagger快速配置2.knife增强swagger支持3.全局请求参数校验(Validation)支持4.字段脱敏支持5.默认jackson序列化6.xss,cors支持7.访问日志支持8.全局异常处理,统一返回结果9.系统关键及常用信…

【Cesium for Supermap】S3MTiles图层box裁剪

效果图: 代码: let viewer new Cesium.Viewer(cesiumContainer);// 添加SuperMap iServer发布的S3M缓存服务let promise viewer.scene.addS3MTilesLayerByScp("http://www.supermapol.com/realspace/services/3D-BIMbuilding/rest/realspace/data…

操作系统体系结构(不是很重点)

目录 一. 大内核与微内核二. 分层结构, 模块化和外核2.1 分层结构2.2 模块化2.3 宏内核与微内核 三. 外核 \quad 一. 大内核与微内核 \quad 由于对系统资源进行管理的功能不会直接涉及硬件, 所以有的就没有把这个功能放在内核里面 注意: 考试的时候不要写变态, 要写CPU状态的转…

数据结构---复杂度(1)

1.时间复杂度 衡量算法的好坏,使用大写的o来表示时间复杂度,通俗的讲,就是一个算法执行的次数; 时间复杂度就是数学里面的函数表达式;本质上是一个函数; 下面举几个例子: (1)这里的执行次数是…

Redis 之七:穿透、击穿、雪崩

(本内容部分来自知乎网等网络) Redis 缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严…

java 数据结构二叉树

目录 树 树的概念 树的表示形式 二叉树 两种特殊的二叉树 二叉树的性质 二叉树的存储 二叉树的基本操作 二叉树的遍历 二叉树的基本操作 二叉树oj题 树 树是一种 非线性 的数据结构,它是由 n ( n>0 )个有限结点组成一个具有层次…