【每日OJ —— 110. 平衡二叉树】

每日OJ —— 110. 平衡二叉树

  • 1.题目:110. 平衡二叉树
  • 2.解法
    • 2.1.算法讲解
    • 2.2.代码实现
    • 2.3.提交通过展示

1.题目:110. 平衡二叉树

在这里插入图片描述

2.解法

2.1.算法讲解

1.这道题中的平衡二叉树的定义是:二叉树的每个节点的左右子树的高度差的绝对值不超过 111,则二叉树是平衡二叉树。根据定义,一棵二叉树是平衡二叉树,当且仅当其所有子树也都是平衡二叉树,因此可以使用递归的方式判断二叉树是不是平衡二叉树,递归的顺序可以是自顶向下或者自底向上。
2.算法:自顶向下递归
定义函数 height用于计算二叉树中的任意一个节点 p 的高度:

在这里插入图片描述
有了计算节点高度的函数,即可判断二叉树是否平衡。具体做法类似于二叉树的前序遍历,即对于当前遍历到的节点,首先计算左右子树的高度,如果左右子树的高度差是否不超过 1,再分别递归地遍历左右子节点,并判断左子树和右子树是否平衡。这是一个自顶向下的递归的过程。

2.2.代码实现

在这里插入图片描述

2.3.提交通过展示

在这里插入图片描述

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

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

相关文章

Android12之MediaCodec硬编解码调试手段(四十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

发送xml格式的http请求工具类

发送xml格式的http请求 package com.yannis.utils;import com.google.gson.Gson; import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.http.HttpResponse; import…

继续画图带你学习TCP 其他 7 大特性

四、滑动窗口机制 五、流量控制 六、拥塞控制 (安全机制) 七、延迟应答 (效率机制) 八、捎带应答 (效率机制) 九、粘包问题 十、保活机制 TCP总结 四、滑动窗口机制 滑动窗口机制,是在可靠性的前提下,进一步地提高传输效率 认识滑动窗口 一发一收…

vscode的eslint检查代码格式不严谨的快速修复

问题: 原因:复制的代码,esLint检查代码格式不正确。或者写的代码位置不严谨,总是提示 解决 设置在Ctrl S保存时自动格式化代码 1、vscode设置 2、点击右上角,切换json模式 3、添加设置 "editor.codeActionsOn…

JavaScript中使用JSON的基本操作示例

简介 JSON(JavaScript Object Notation)是一种数据交换格式,也是JavaScript中处理数据的常见方式之一。JSON是一种轻量级的数据交换格式,易于阅读和编写,同时也易于解析和生成。在JavaScript中,可以使用内…

Linux gdb调试(总结)

1 gdb的作用 gdb 是 GNU 发布的一个强大的程序调试工具,也是 Linux 程序员不可或缺的一大利器。 2 gdb的使用: (1) 调试讲解的代码 //---------addsub.h--------- #pragma once int jfx_addition (int* a, int* b); int jfx_subtraction (int* a, int* b);//---------adds…

Rust UI开发(五):iced中如何进行页面布局(pick_list的使用)?(串口调试助手)

注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 这是一个系列博文,本文是第五篇,前四篇链接: 1、Rust UI开发(一):使用iced构建UI时…

【零基础入门Python】Python If Else流程控制

✍面向读者:所有人 ✍所属专栏:零基础入门Pythonhttps://blog.csdn.net/arthas777/category_12455877.html Python if语句 Python if语句的流程图 Python if语句示例 Python If-Else Statement Python if else语句的流程图 使用Python if-else语句 …

JVM 运行时内存篇

面试题: 讲一下为什么JVM要分为堆、方法区等?原理是什么?(UC、智联) JVM的分区了解吗,内存溢出发生在哪个位置 (亚信、BOSS) 简述各个版本内存区域的变化&#xff1…

木质家具行业分析:我国市场规模总资产达1669.19亿元

木质家具是指以天然木材和木质人造板为主要材料,配以其他辅料(如油漆、贴面材料、玻璃、五金配件等)制作各种家具的生产活动。 近年来实木家具越来越受到广大消费者的青睐。继板式家具、板式定制家具之后,板木家具与整木定制家具渐渐走进人们的视野。但目…

酵母双杂交服务专题(四)

关于酵母双杂交服务的常见问题 问题1:酵母双杂交的筛选流程? 研究者将特定基因作为钓饵,在一个精心挑选的cDNA文库中进行筛选,目的是找到与该钓饵蛋白发生相互作用的蛋白质。通过这种筛选,可以从阳性反应的酵母菌株中…

python处理的例子

例子一(咖啡列表的处理) 把 coffee_list [ 32Latte, _Americano30,/34Cappuccino, Mocha35]输出为: 1 Latte 2 Americano 3 Cappuccino 4 Mocha def clean_list(lst):cleaned_list []for item in lst:for c in item:if c.isalpha() ! Tr…

Cesium 顶点吸附和区域拾取

Cesium 顶点吸附和区域拾取 基于深度实现可以自定义拾取范围大小 // 顶点吸附// const result pickAreaHelper.pickNearest(viewer.scene, movement.endPosition, 32, 32);// 区域拾取const result pickAreaHelper.pickArea(viewer.scene, movement.endPosition, 32, 32);顶…

新生儿规避感染的完全指南

引言: 新生儿的免疫系统尚处于发育阶段,对外界环境的抵抗力相对较弱。因此,规避感染成为父母在新生儿护理中至关重要的一环。本文将深入探讨新生儿规避感染的注意事项,为父母提供详尽的指南,以确保宝宝健康成长。 第一…

树莓派Python程序开机自启动(Linux下Python程序开机自启动)

前一阵子用python编写了一个驱动I2C程序读写屏幕,输出IP的小程序,程序编好后需要树莓派使能程序开机自启动。其实这些方法对任何Linux系统都适用。 方法一:此方法的缺点是不进入默认pi的账号,甚至不开hdmi开启桌面的话&#xff0…

金融银行业更适合申请哪种SSL证书?

在当今数字化时代,金融行业的重要性日益增加。越来越多的金融交易和敏感信息在线进行,金融银行机构必须采取必要的措施来保护客户数据的安全。SSL证书作为一种重要的安全技术工具,可以帮助金融银行机构加密数据传输,验证网站身份&…

python动态圣诞下雪图

运行图片 代码 import pygame import random# 初始化Pygame pygame.init()# 创建窗口 width, height 800, 600 screen pygame.display.set_mode((width, height)) pygame.display.set_caption(Christmas Tree)# 定义颜色 GREEN (34, 139, 34) RED (255, 0, 0) WHITE (255…

centos7 安装java jdk1.8

1. jdk 百度云下载 2. 上传到服务器任意目录并解压: tar -zxvf jdk-8u231-linux-x64.tar.gz 3.配置环境变量 vim /etc/profile 在文件末尾添加如下命令,保存退出: export JAVA_HOME/opt/jdk1.8.0_231 export PATH$JAVA_HOME/bin:$PAT…

公众号50个数量怎么操作?

一般可以申请多少个公众号?公众号申请限额在过去几年内的经历了很多变化。对公众号申请限额进行调整是出于多种原因,确保公众号内容的质量和合规性。企业公众号的申请数量从50个到5个最后到2个,对于新媒体公司来说,这导致做不了公…

【Node.js】笔记整理 5 - Express框架

写在最前:跟着视频学习只是为了在新手期快速入门。想要学习全面、进阶的知识,需要格外注重实战和官方技术文档,文档建议作为手册使用 系列文章 【Node.js】笔记整理 1 - 基础知识【Node.js】笔记整理 2 - 常用模块【Node.js】笔记整理 3 - n…