Day17|110.平衡二叉树

news2025/1/16 14:08:18

一、110.平衡二叉树

题目链接:https://leetcode.cn/problems/balanced-binary-tree/
文章链接:https://programmercarl.com/0110.%E5%B9%B3%E8%A1%A1%E4%BA%8C%E5%8F%89%E6%A0%91.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE
视频链接:https://www.bilibili.com/video/BV1Ug411S7my/?vd_source=721f65ae0501389782be0dcb48a2c421


// 平衡二叉树

/**
 * 给定一个二叉树,判断它是否是高度平衡的二叉树
 * 本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。
 * 解题思路:后序遍历(递归) 返回值为-1说明不是平衡二叉树
 */
public class BalanceBinaryTree {
    public int getHeight(TreeNode root){
        if (root == null ) return 0;
        //左
        int leftHeight = getHeight(root.left);
        if (leftHeight == -1) {
            return -1;
        }
        //右
        int rightHeight = getHeight(root.right);
        if (rightHeight == -1){
            return -1;
        }
        //中
        int result;
        //左右子树高度差大于1,return -1表示已经不是平衡二叉树
        //其次返回该节点的高度,本身节点的高度1加上左右子树的最大高度就是该节点的高度
        if (Math.abs(rightHeight-leftHeight)>1){
            result =  -1;
        }else {
            result = 1 + Math.max(rightHeight,leftHeight);
        }
        return result;
    }
}

解题思路

在这里插入图片描述

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

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

相关文章

安卓系统如何在WIFI里设置s5静态IP

在 Android 设备上使用 Wi-Fi Settings 设置s5的详细教程: 1、首先,打开您的 Android 设备的 “设置” 应用。 2、在设置菜单中,点击 “Wi-Fi” 选项。 3、确保您已经连接到一个 Wi-Fi 网络。如果没有连接,请点击 “添加网络” …

小程序技术在信创操作系统中的应用趋势:适配能力有哪些?

小程序技术在信创操作系统中的应用前景非常广阔,但也面临着一些挑战和问题。开发者需要积极应对这些挑战和问题,为信创操作系统的发展和推广做出贡献。同时,开发者也需要关注小程序技术在信创操作系统中的应用趋势,积极探索新的应…

Web安全系列——越权访问(权限控制失效)

一、前言 越权访问是当前Web应用中最常见的安全风险之一。 本文将介绍越权访问的原理、风险以及典型攻击场景,并为开发者提供有效的防范措施,帮助构建安全的Web应用。 二、什么是越权访问 越权访问,是指用户在不具备相应权限(…

DevOps2023现状报告|注重文化、以用户为中心是成功的关键

Google Cloud DORA 团队的一份新研究报告强调了企业文化和关注用户作为成功软件交付支柱的重要性。 2023 DevOps 状况报告分析了过去 9 年来通过此类最大规模调查收集的全球 36,000 多名 IT 专业人员的数据。今年的报告是继 2022 年调查之后发布的,该调查发现越来…

使用RCurl和R来爬虫视频

以下是一个使用RCurl和R来爬虫视频的示例代码&#xff0c;代码中使用了https://www.duoip.cn/get_proxy来获取代理IP&#xff1a; # 引入必要的库 library(RCurl) library(rjson)# 获取代理IP proxy_url <- "https://www.duoip.cn/get_proxy" proxy <- getURL…

【Pycharm中python调用另一个文件类或者函数】

Pycharm中python调用另一个文件类或者函数 本文主要介绍了Pycharm中python调用另一个文件类或者函数&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着小编来一起学习学习吧 文章目录 Pycha…

云HIS-医院信息化的核心

基于云计算技术的 B/S 架构的 HIS 系统&#xff0c;为基层医疗机构提供标准化的、信息化的、可共享的医疗信息管理系统&#xff0c;实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。系统利用云计算平台的技术优势&#xff0c;建立统一的健康档案存储平台&#xf…

纽交所上市公司埃森哲宣布已收购英国创意管理咨询公司

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;纽交所上市公司埃森哲(ACN)今日宣布已收购英国创意管理咨询公司The Storytellers。 这笔交易的金额没有披露。 此次收购将增强埃森哲在转型变革方面的能力&#xff0c;并进一步帮助客户阐明和激活…

请求转发和重定向区别

两者区别&#xff1a; 1.转发在一次请求中完成&#xff0c;重定向是两次请求 2.转发操作发生在服务器内部&#xff0c;重定向是在浏览器执行操作 3.转发地址栏不变&#xff0c;重定向地址栏变化&#xff08;两次请求&#xff0c;两个地址&#xff09; 4.转发可以在一次请求中共…

如何实现前端懒加载图像?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

SAP FICO案例教程简介

内容简介 本教程内容包括&#xff0c;erplabs编写的MTS、MTO 1、MTO 2案例教程FICO模块内容&#xff0c;案例业务在虚拟机全部实现&#xff0c;还包括若干案例专题。案例内容实用全面、图文表丰富&#xff0c;数据严谨前后关联衔接&#xff0c;可作为实际工作参考资料。本书适合…

基础课4——语音识别技术

ASR 是自动语音识别&#xff08;Automatic Speech Recognition&#xff09;的缩写&#xff0c;是一种将人类语音转换为文本的技术。ASR 系统可以处理实时音频流或已录制的音频文件&#xff0c;并将其转换为文本。它是一种自然语言处理技术&#xff0c;广泛应用于许多领域&#…

SPI总线及其demo

SPI总线是微处理器和外设之间进行数据交互的常用串行总线接口。本文主要介绍了SPI的接口类型、数据传输&#xff08;时钟极性、时钟相位&#xff09;、读、写操作的具体代码&#xff0c;最后是一个完整的xpt2046实现ADC的代码实现及注意事项。 1 、接口简介 串行外设接口&…

全流程TOUGH系列软件实践技术应用

TOUGH系列软件是由美国劳伦斯伯克利实验室开发的&#xff0c;旨在解决非饱和带中地下水、热运移的通用模拟软件。和传统地下水模拟软件Feflow和Modflow不同&#xff0c;TOUGH系列软件采用模块化设计和有限积分差网格剖分方法&#xff0c;通过配合不同状态方程&#xff08;EOS模…

c/c++语言算法技巧汇总/大复习[未完结]

目录 最简单的hash表子串变位词 排序最简单的桶排序字典序快排练习1 &#xff1a;0-1交换练习2&#xff1a;交换星号 最简单的去重最简单的队列template模版双端队列vector or listvector 队列结构存在于两种算法广度优先搜索贝尔曼福特算法&#xff08;Bellman-Ford&#xff0…

华为荣耀手机,开启开发者选项,hbuilder调试依然找不到

我的手机是华为荣耀50&#xff0c;其他华为手机不知道是不是这个问题哦 解决办法&#xff1a;usb配置&#xff0c;选择音频来源 然后就可以了

QGIS选择某一个元素,并生成新的图层

第一步&#xff1a;选择元素 第二步&#xff1a;编辑 —> 复制 第三步&#xff1a;Edit —> paste features as —> new vector layer 输入文件名&#xff1a; 生成新图层

【计算机网络笔记】计算机网络性能(1)——速率、带宽、延迟

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 系列文章目录速率带宽延迟/时延(delay或latency) 下面介绍一些计算机网络中常用的性能指标。在本篇中涉及速…

iPhone怎么滚动截长图?分享3个截图技巧!

苹果手机虽然深受大家喜爱&#xff0c;但是有一些功能确实没有安卓方便。就像今天小编要讲的长截图功能&#xff0c;苹果手机本身并不具备。 但是&#xff0c;我们可以借助其他外力来实现长截图&#xff0c;这些方法往往容易被大家忽视。那么&#xff0c;iphone怎么滚动截长图…

零代码编程:用ChatGPT根据excel表格数据来批量修改文件标题名

文件夹里面有很多个mp文件&#xff0c;没有顺序&#xff0c;很乱&#xff1a; 这些文件其实都是有顺序的&#xff0c;Excel表格中前面的数字就是序号&#xff1a; 现在&#xff0c;希望根据Excel表格中的标题名来对文件夹里的mp4文件进行批量重命名&#xff0c;在ChatGPT中输入…