算法-二叉树篇09-平衡二叉树

平衡二叉树

力扣题目链接

题目描述

给定一个二叉树,判断它是否是 平衡二叉树 。

解题思路

把求二叉树最大深度的代码修改一下即可,在递归的时候判断两个子树的高度相差是否大于1,如果大于1就直接返回-1,说明该子树不平衡,如果两个子树中出现-1,也是直接返回,否则返回最大子树高度加1。

题解

class Solution {
public:
    bool isBalanced(TreeNode* root) {
        return func(root) == -1? false : true;
    }

    int func(TreeNode* root){
        if(root == NULL){
            return 0;
        }
        int n1 = func(root->left);
        int n2 = func(root->right);
        if(n1 == -1 || n2 == -1){
            return -1;
        }
        return abs(n1 - n2) > 1 ? -1 : 1 + max(n1, n2);
    }
};

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

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

相关文章

Rust学习总结之-枚举

枚举是一个很多语言都有的功能,不过不同语言中其功能各不相同但是要表达的意思是一致的,枚举就是对于一个事物可以穷举出所有可能得值。比如说人的性别就可以用枚举,男人和女人两种。下面我们来学习Rust中的枚举。 一:枚举定义 …

domain 网络安全 网络安全域

🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 文章目录 1、域的概述 1.1、工作组与域1.2、域的特点1.3、域的组成1.4、域的部署概述1.5、活动目录1.6、组策略GPO 2、域的部署实验 2.1、建立局域网&#xf…

面试基础---深入解析 AQS

深入解析 AQS:从源码到实践,剖析 ReentrantLock 和 Semaphore 的实现 引言 在 Java 并发编程中,AbstractQueuedSynchronizer(AQS)是一个核心框架,它为构建锁和其他同步器提供了基础支持。ReentrantLock 和…

Harmony开发笔记(未完成)

一、感想 作为一名拥有11年经验的Android开发者,我亲历了Android从高速发展到如今面临“僧多粥少”的过程。技术的世界瞬息万变,没有一种技术能够让人依赖一辈子。去年初,我自学了鸿蒙系统,并顺利通过了鸿蒙官方的初级和高级认。…

计算机视觉(opencv-python)入门之常见图像处理基本操作(待补充)

图像预处理是计算机视觉任务中的关键步骤,它通过对原始图像进行处理,以提高后续图像分析、特征提取和识别的准确性。 示例图片 目录 常见图像预处理方法 灰度化处理 法一 法二 说明 切片截取部分图像数据 cv2.cvtColor() 颜色空间转换 cv2.spli…

设计模式Python版 备忘录模式

文章目录 前言一、备忘录模式二、备忘录模式示例1三、备忘录模式示例2 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&#xff1a…

Linux红帽:RHCSA认证知识讲解(三)Linux基础指令与Vim编辑器的使用

Linux红帽:RHCSA认证知识讲解(三)Linux基础指令与Vim编辑器的使用 前言一、Linux基础指令二、Linux 文件系统层次结构概念三、通过路径指定文件四、使用命令行工具管理文件五、Vim 的安装方式六、Vim 的操作模式七、红帽建议掌握的 Vim 键和命…

auto.js例子之WebView多页面浏览器

"ui";ui.layout(<vertical><horizontal id"webs" layout_weight"1"></horizontal><button id"one" text"第一个" /><button id"two" text"第二个" /><button id"…

跨平台公式兼容性大模型提示词模板(飞书 + CSDN + Microsoft Word)

飞书云文档 CSDN MD编辑器 Microsoft Word 跨平台公式兼容方案&#xff1a; 一、背景痛点与解决方案 在技术文档创作中&#xff0c;数学公式的跨平台渲染一直存在三大痛点&#xff1a; 飞书云文档&#xff1a;原生KaTeX渲染与导出功能存在语法限制微软Word&#xff1a;Math…

HTTP 动态报错码的原因和解决方法

目录 1xx&#xff08;信息性状态码&#xff09; 2xx&#xff08;成功状态码&#xff09; 3xx&#xff08;重定向状态码&#xff09; 4xx&#xff08;客户端错误状态码&#xff09; 5xx&#xff08;服务器错误状态码&#xff09; 参考文章 以下是 HTTP 动态报错码的常见原…

Docker基础-常见命令

docker images -查看所有的本地镜像。 docker pull -把远端镜像拉取到本地。 docker rmi -删除镜像。 docker push -推到镜像仓库。 docker run -创建并运行容器&#xff08;自动化&#xff0c;如果发现镜像不存在会先去拉取&#xff0c; 拉取完了以后再去自动创建容器&am…

Spring MVC框架六:Ajax技术

精心整理了最新的面试资料&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 简介 jQuery.ajax Ajax原理 结语 创作不易&#xff0c;希望能对大家给予帮助 想要获取更多资源? 点击链接获取

36. Spring Boot 2.1.3.RELEASE 中实现监控信息可视化并添加邮件报警功能

1. 创建 Spring Boot Admin Server 项目 1.1 添加依赖 在 pom.xml 中添加 Spring Boot Admin Server 和邮件相关依赖&#xff1a; <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-w…

PowerShell 执行策略:fnm管理软件安装nodejs无法运行npm,错误信息:about_Execution_Policies

通过fnm管理软件安装NodeJS后添加环境变量依然无法执行npm,提示无法加载文件&#xff0c;错误如下&#xff1a; PowerShell 执行策略简介&#xff1a; PowerShell 执行策略是一项安全功能&#xff0c;用于控制 PowerShell 加载配置文件和运行脚本的条件。 此功能有助于防止恶…

Java在云计算平台中的应用研究

Java在云计算平台中的应用研究 随着云计算的广泛应用&#xff0c;越来越多的企业和开发者开始选择基于云计算的架构来构建和部署应用。Java作为一种成熟的编程语言&#xff0c;凭借其跨平台性、强大的生态系统以及优秀的并发处理能力&#xff0c;已成为云计算平台中常用的编程…

电脑键盘知识

1、键盘四大功能区 1. 功能区 2. 主要信息输入区 3. 编辑区 4. 数字键盘区 笔记本电脑键盘的功能区&#xff0c;使用前需先按Fn键 1.1、功能区 ESC&#xff1a;退出 F1&#xff1a;显示帮助信息 F2&#xff1a;重命名 F4&#xff1a;重复上一步操作 F5&#xff1a;刷新网页 …

论文阅读笔记:Continual Forgetting for Pre-trained Vision Models

论文阅读笔记&#xff1a;Continual Forgetting for Pre-trained Vision Models 1 背景2 创新点3 方法4 模块4.1 问题设置4.2 LoRA4.3 概述4.4 GS-LoRA4.5 损失函数 5 效果6 结论 1 背景 出于隐私和安全考虑&#xff0c;如今从预先训练的视觉模型中删除不需要的信息的需求越来…

C# 从基础神经元到实现在0~9数字识别

训练图片:mnist160 测试结果:1000次训练学习率为0.1时,准确率在60%以上 学习的图片越多&#xff0c;训练的时候越长(比如把 epochs*10 10000或更高时)效果越好 using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Windo…

蓝桥杯 5.字符串

蓝桥杯 5.字符串 文章目录 蓝桥杯 5.字符串KMP&字符串哈希Manacher编程138-148字典树基础01Trie编程149-155 KMP&字符串哈希 KMP算法 字符串匹配算法, 用于匹配**模式串P(短)和文本串S(长)**中出现的所有位置, 例如, S “ababac”, P “aba”, 那么出现的所有位置就…

AI智能体与大语言模型:重塑SaaS系统的未来航向

在数字化转型的浪潮中&#xff0c;软件即服务&#xff08;SaaS&#xff09;系统一直是企业提升效率、优化业务流程的重要工具。随着AI智能体和大语言模型&#xff08;LLMs&#xff09;的迅速发展&#xff0c;SaaS系统正迎来前所未有的变革契机。本文将从AI智能体和大语言模型对…