二叉树leetcode(求二叉树深度问题)

在这里插入图片描述
today我们来练习三道leetcode上的有关于二叉树的题目,都是一些基础的二叉树题目,那让我们一起来学习一下吧。
https://leetcode.cn/problems/maximum-depth-of-binary-tree/submissions/

在这里插入图片描述

看题目描述是让我们来求出二叉树的深度,我们以第一个父节点就是我们二叉树的第一层,然后依次往下数,我们要求的就是我们最大层数,我们可以考虑我们用递归的方式。

我们先把这个问题分成子问题,首先我们知道二叉树是由好多的子树组成,那我们的每一子树都是由一个左孩子和一个右孩子,如果两个孩子都是空就是叶子节点,那我们这道题的子问题就可以变成,如果这个父亲节点是有孩子的,证明就是有层数的,这个时候我们就可以加上一层,但是我们也知道,一般的二叉树并不是都有左右孩子节点的,这个时候我们就应该返回有孩子节点那边的数量加上1,这是对于叶子节点,如果是非叶子节点的时候我们得返回值大的那个孩子加上1就是当前有几层,依次递归就可以算出我们的节点个数了。我们先来看我们的代码,然后来看看递归展开图就能更好的理解了。

int maxDepth(struct TreeNode* root) {if(root == NULL){return 0;}if(!root->left && !root->right){return 1;}int leftdepth = maxDepth(root->left);int rightdepth = maxDepth(root->right);if(leftdepth > rightdepth){return leftdepth+1;}else{return rightdepth+1;}
}

在这里插入图片描述

递归展开图

在这里插入图片描述

我们来看这个就是我们第一次往左边递归到叶子节点然后开始返回。这样子也就是意味着我们的左边也是递归完了,我们要开始递归右边。再来看看我们的递归展开图。

在这里插入图片描述
这样就可以算出我们的层数了,所以这题就解决了,下两题我放在下一篇文章。
在这里插入图片描述

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

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

相关文章

HT for Web (Hightopo) 使用心得(5)- 动画的实现

其实,在 HT for Web 中,有多种手段可以用来实现动画。我们这里仍然用直升机为例,只是更换了场景。增加了巡游过程。 使用 HT 开发的一个简单网页直升机巡逻动画(Hightopo 使用心得(5)) 这里主…

a-modal拖拽弹框

drag.js export default {install(Vue) {// v-dialogDrag: 弹窗拖拽Vue.directive(dragModal, (el, bindings, vnode) > {Vue.nextTick(() > {const { visible, destroyOnClose } vnode.componentInstance// 防止未定义 destroyOnClose 关闭弹窗时dom未被销毁&#xff…

UWB高精度定位系统项目源码

在现代社会中,精准定位技术对于各行各业都至关重要。为了满足对高精度定位的需求,超宽带(Ultra-Wideband, UWB)技术应运而生。UWB高精度定位系统以其出色的定位精度和多样化的应用领域而备受关注。本文将深入探讨UWB高精度定位系统…

2024年计算机毕业设计选题(私聊获取源码或代做)

1、基于SpringBoot的养老院管理系统的设计与实现 2、基于SpringBoot的网上购物商城的设计与实现 3、基于SpringBoot的旅游网站的设计与实现 4、基于SpringBoot的网上点餐系统的设计与实现 5、基于SpringBoot的阿博图书馆管理系统的设计与实现 6、基于SpringBoot的足球青训…

向量场中的几个恒等式

向量场中的几个恒等式 1. ∇ 2 A ∇ ∇ ⋅ A − ∇ ∇ A \nabla ^2 A \nabla \nabla\cdot A-\nabla \times\nabla\times A ∇2A∇∇⋅A−∇∇A 2. ∇ ⋅ ∇ A 0 \nabla \cdot \nabla \times A 0 ∇⋅∇A0 3. ∇ ∇ ϕ 0 \nabla \times \nabla \phi0 ∇∇ϕ0

SCAU:2023年ACM校赛网上预赛(23级组别)

报数 Time Limit:1000MS Memory Limit:65535K 题型: 编程题 语言: 不限定 描述: 给定两个正整数a和b,用英语从a到b计数。根据a和b的大小关系,可能是正着数,也可能是倒着数。 输入格式: 第一行包含t&#xff0…

学习记录684@vue 统计用户页面停留时间

需求 想要统计用户在页面停留的真实时间,进入页面开始计时,切出本页面后完毕,另外需要注意关闭浏览器网页窗口或者关闭整个浏览器也要停止计时。 代码实现 data() {return {browseTime: 0, // 浏览时长初始值为 0clearTimeSet: null}},moun…

数据库服务器的配置要求

随着信息化的不断发展,数据库已经成为企业级应用的重要组成部分。安装数据库不仅是构建企业级应用的基础,也是保障数据安全和数据完整性的关键环节。数据库服务器的配置选择需要根据需求、使用情况多方面考虑。 以下是一些常见的配置要求: 1…

Kubernetes之kubeadm集群监控篇—prometheus 部署

配置文件编辑 # cat prometheus-config.yamlapiVersion: v1 kind: Namespace metadata:name: kube-prom --- apiVersion: v1 kind: ConfigMap metadata:name: prometheus-confignamespace: kube-prom data:prometheus.yml: |global:scrape_interval: 10sevaluation_interv…

算法基础之字符串哈希

字符串哈希 核心思想&#xff1a;用p(131或者13331)进制数储存字符串每一位数的hash值 L—R的哈希值 h[R]-h[L-1]*PR-L1 哈希值很大—>modQ(264)变小 用unsigned long long 存 (出界) #include<iostream>using namespace std;typedef unsigned long long ULL;co…

SpringMVC文件下载

<!--解决找不到“jquery-3.4.1.min.js”&#xff08;静态资源访问&#xff09;的问题 --> <mvc:default-servlet-handler/>方式1&#xff1a;如果去掉download就是查看图片 <a href"${pageContext.request.contextPath}/uploadfiles/${requestScope.filena…

C++输出100以内的素数

以下是一个简单的C程序&#xff0c;用于输出100以内的所有素数&#xff1a; #include <iostream>using namespace std;int main() { int num, i, flag 0; for(num 2; num < 100; num) { flag 0; for(i 2; i < num/2; i) { if(…

(C)一些题6

1.正确定义符号常量PI的宏定义为 A.define PI 3.14 B.define PI 3.14: C。#define PI 3.14 D #define PI 3.14&#xff1b; 2。关于字符数组的描述中错误的是() A.字符数组可以存放字符串 B.字符数组中的字符串可以整体输入和输出 C。可以在赋值语句中通过运算符“”对…

力扣日记11.30-【二叉树篇】平衡二叉树

力扣日记&#xff1a;【二叉树篇】平衡二叉树 日期&#xff1a;2023.11.30 参考&#xff1a;代码随想录、力扣 110. 平衡二叉树 题目描述 难度&#xff1a;简单 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#…

量子模拟技术突破!科学家将化学过程减慢 1000 亿倍

悉尼纳米科学中心的 Pablo Fernandez Peas 教授&#xff08;左&#xff09;、Ivan Kassal 副教授和 Tingrei Tan 博士。 &#xff08;图片来源&#xff1a;网络&#xff09; 在澳大利亚悉尼纳米科学中心&#xff0c;由悉尼医学院、物理和化学系组成的跨学科团队正在利用量子技…

【开发实践】使用jstree实现文件结构目录树

一、需求分析 因开发系统的需要&#xff0c;维护服务端导出文件的目录结构。因此&#xff0c;需要利用jstree&#xff0c;实现前端对文件结构目录的展示。 【预期效果】&#xff1a; 二、需求实现 【项目准备】&#xff1a; jstree在线文档&#xff1a;jstree在线文档地址 …

高频双计数器测量方法

如测量具有高频成分的数字频率或信号周期&#xff0c;请使用高频测量方法。如要在NI-DAQmx中使用该方法测量&#xff0c;成对计数器生成一个脉冲序列&#xff0c;脉冲序列的周期由测量时间属性指定。测量时间通常比待测的输入信号的周期长得多&#xff0c;以减少量化误差。但测…

常见的网络攻击方法

欢迎大家到我的博客浏览。网络攻击 | YinKais Blog 网络攻击<!--more--> 1、DNS 劫持 原理 当我们访问网站的时候&#xff0c;实际上会先进行域名解析得到网站服务器的 IP 地址&#xff0c;然后才进行后续的访问。DNS 劫持利用了这个过程追踪的漏洞&#xff0c;攻击者…

C++设计模式——Bridge模式(上)

一、什么是桥接模式 桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;它将抽象部分和实现部分解耦&#xff0c;使得它们可以独立地变化。该模式使用了组合关系来替代继承&#xff0c;从而达到降低系统复杂度的目的。C作为一门面向对象的编程语…