二叉树|110.平衡二叉树

力扣题目链接

class Solution {
public:// 返回以该节点为根节点的二叉树的高度,如果不是平衡二叉树了则返回-1int getHeight(TreeNode* node) {if (node == NULL) {return 0;}int leftHeight = getHeight(node->left);if (leftHeight == -1) return -1;int rightHeight = getHeight(node->right);if (rightHeight == -1) return -1;return abs(leftHeight - rightHeight) > 1 ? -1 : 1 + max(leftHeight, rightHeight);}bool isBalanced(TreeNode* root) {return getHeight(root) == -1 ? false : true;}
};

平衡二叉树是什么?

就是他们的左右根节点的高度差不能大于1

所以,这题的思路就很清晰了。

关键是,你知道如何递归求左右子树的高度吗?

其中的递归过程,自己要去一步一步搞懂。

if (leftHeight == -1) return -1;

我不太理解,return -1是什么意思。

代码随想录 (programmercarl.com)

去看看视频可能会更好理解一点~

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

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

相关文章

鸿蒙一次开发,多端部署(六)自适应布局

针对常见的开发场景,方舟开发框架提炼了七种自适应布局能力,这些布局可以独立使用,也可多种布局叠加使用。 下面我们依次介绍这几种自适应布局能力。 拉伸能力 拉伸能力是指容器组件尺寸发生变化时,增加或减小的空间全部分配给容…

鸿蒙一次开发,多端部署(十一)设置应用页面

本小节以“设置”应用页面为例,介绍如何使用自适应布局能力和响应式布局能力适配不同尺寸窗口。 页面设计 为充分利用屏幕尺寸优势,应用常常有在小屏设备上单栏显示,大屏设备上左右分两栏显示的设计,设置应用页面设计如下。 观察…

不要取和所用方法名字相同的类

package 练习; import java.util.*; public class StringBuilder {public static void main(String[] args){Scanner scan new Scanner(System.in);String r scan.nextLine();StringBuilder x new StringBuilder(r);System.out.println(x);}} 奉上错误代码(上面&…

qt5-入门-标签页部件QTabWidget-1

参考: C GUI Programming with Qt 4, Second Edition 本地环境: win10专业版,64位,Qt5.12 目录 效果实现Qt Designer操作代码addStretch()解释 效果 首页有三个按钮和最近文件列表。 拖动窗口,按钮和文件列表仍然处…

【C++】1600. 请假时间计算

问题:1600. 请假时间计算 类型:基本运算、整数运算 题目描述: 假设小明的妈妈向公司请了 n 天的假,那么请问小明的妈妈总共请了多少小时的假,多少分钟的假?(提示: 1 天有 24 小时&…

关于UDS刷写的一些杂谈

最近在做CAPL编写UDS刷写上位机的工作,后续过来更新现在这里查个眼,以免后面忘记了。 下面放一些可能会用到的知识点: 1.一般的刷写流程如下所示: 红色标记代表为功能寻址。 预编程:10 01,10 83&#xf…

【Python 自定义函数】

函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。但我们可以根据需求创建函数,即用户自定义函数。 一、定义函数的规则 以def a关键词开头,后接函数标识符名称和圆括号()任何传入参数和自变…

Linux——du, df命令查看磁盘空间使用情况

一、实现原理: df 命令的全称是Disk Free ,显而易见它是统计磁盘中空闲的空间,也即空闲的磁盘块数。它是通过文件系统磁盘块分配图进行计算出的。 du 命令的全称是 Disk Used ,统计磁盘有已经使用的空间。它是直接统计各文件各目…

HarmonyOS4.0—自定义渐变导航栏开发教程

前言 今天要分享的是一个自定义渐变导航栏,本项目基于鸿蒙4.0。 先看效果: 这种导航栏在开发中也比较常见,特点是导航栏背景色从透明到不透明的渐变,以及导航栏标题和按钮颜色的变化。 系统的导航栏无法满足要求,我们…

Vuex 笔记

Vuex的设计初衷就是为了解决Vue中单项数据流的问题,什么是单项数据流,简单来说就是 父组件可以传值给子组件,你可以用props,还相对简单. 子组件可以传值给父组件,你可以用$emit,这个算相对难一丢丢. 1.Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候&#x…

8868体育助力西甲赫罗纳 争冠黑马惨遭掀翻

西甲的赫罗纳足球俱乐部是8868体育助力的球队之一,西甲排名第12的赫塔费队迎来了西甲第29轮的较量,赫塔费队此役坐镇自己的主场PK赛前排名第2的争冠超级黑马赫罗纳队。 赛前赫塔费队已经连续4轮联赛不胜(2平2负状态低迷)&#xff…

力扣 字符串解码

维护一个放数字的栈&#xff0c;一个放字母的栈 遇到[把数字和字母入栈&#xff0c;遇到]把当前字母循环加上数字栈头遍的字母栈头 class Solution { public:string decodeString(string s) {string ans"";stack<int>sz;stack<string>zm;里面是string …

一文讲清!进销存管理系统如何实现锁库及库存冻结?计算月加权平均成本?

进销存管理系统中的锁库及库存冻结如何实现&#xff1f;进销存管理系统如何计算月加权平均成本&#xff1f;进销存管理系统又该如何统计和预测采购需求&#xff1f;这些进销存管理难题困扰着许多企业管理者。本文将结合数年从业经验&#xff0c;深入探讨这些进销存管理难题&…

面试算法-83-不同路径 II

题目 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish”&#xff09;。 现在考虑网格中有障碍物。那么从左上角到…

saas架构使用实现

saas架构使用实现 saas是什么 多租户架构——是指在同一个系统中&#xff0c;为不同的客户提供不同的部署环境&#xff0c;各个客户之间的数据和操作是相互独立的。这种架构可以大幅降低系统的开发和运维成本&#xff0c;同时也能提高系统的可扩展性和灵活性。每个用户有自己特…

Keepalived 踩坑

场景&#xff1a;操作系统环境为centos7.9 这里举例了定时检测一个http接口&#xff0c;若超过4次返回不为200则切换master到backup 同时若当前节点被切换为备份节点需要执行一个自己的脚本 两台虚拟机 准备一个vip 1.安装keepalived yum install keepalived 2.配置文件路径…

苹果电脑不能删除移动硬盘文件 苹果电脑移动硬盘只读模式如何更改 移动硬盘文件或目录损坏且无法读取怎么办

当我们将移动硬盘插入苹果电脑后&#xff0c;发现无法对移动硬盘中的文件进行编辑该怎么办&#xff1f;相信有不少网友遇到过这类情况。苹果电脑不能删除移动硬盘文件&#xff0c;或无法拷贝硬盘里的文件。今天我为大家解决苹果电脑移动硬盘只读模式如何更改的问题&#xff0c;…

superset 二开增加 flink 数据源连接通过flink sql 查询数据

前言 superset 目前还不支持 flink 的数据源连接&#xff0c;目前我们公司在探索使用数据湖那一套东西&#xff1a; 使用 flink 作为计算引擎使用 paimon oss对象存储对接 flink 作为底层存储使用 superset 通过 flink gateway 查询 paimon 数据形成报表 增加flink数据源 …

Linux中关于库的概念

一、概念 库是一个二进制文件&#xff0c;包含的代码可被程序调用。例如标准C库、数学库、线程库... 库有源码&#xff0c;可下载后编译&#xff1b;也可以直接安装二进制包。 库是事先编译好的&#xff0c;可以复用的代码。 在OS上运行的程序基本上都要使用库&#xff0c;…

git push出错: src refspec dev/xxx does not match any

使用如下命令gitp push出错: git push origin 远端分支名 git push origin dev/xxxx error: src refspec dev/xxxx does not match any error: failed to push some refs to https://git.woa.com/..... 解决方案 1: git push origin 本地分支名:远端分支名 解决方案2&#…