给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中, 一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两 个子树的高度差的绝对值不超过1

LeetCode-判断一棵树是否为平衡二叉树 文章目录题目链接题目描述示例解析代码 题目链接 Problem.110:https://leetcode.com/problems/balanced-binary-tree/ 题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 输入1: [3,9,20,null,null,15,7] ... 阅读详情

题目:

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

本题中,
一棵高度平衡二叉树定义为:


一个二叉树每个节点 的左右两
个子树的高度差的绝对值不超过1。


示例 1:

给定二叉树
 [3,9,20,null,null,15,7]

    3
   / \
  9  20
    /  \
   15   7

返回 true 。

示例 2:

给定二叉树 [1,2,2,3,3,null,null,4,4]

       1
      / \
     2   2
    / \
   3   3
  / \
 4   4


返回 false 。

代码如下:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    
    //判断树是否相同
    public int maxDepth(TreeNode root) {
        if(root == null){
            return 0;
        }
        int left1 = maxDepth(root.left);
        int right1 = maxDepth(root.right);
        return Math.max(left1,right1) + 1;
    }
    
    //判断树是否为平衡二叉树
    public boolean isBalanced(TreeNode root) {
        if(root == null){
            return true;
        }else{
            int nums1 = maxDepth(root.left);
            int nums2 = maxDepth(root.right);
            int nums3 = nums1 - nums2;
            if(nums3 * nums3 < 2){
	//当前树是否平衡
                return isBalanced(root.left) && isBalanced(root.right);
            }else{
                return false;
            }
        }
    }
}

 

判断给定的二叉树是否是平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵平衡二叉树定义为: 一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:true 示例 2: 输入:root = [1,2,2,3,3,null,null,4,4] 输出:false 示例 3: 输入:root = [] 输出:true 提示: 树中的节点数在范围 [0, 5000] 内 -104 <= Node.val <= 104 阅读详情

相关推荐

FlowPic实战:从流量到图像的端到端加密应用识别

本文深入解析了FlowPic技术如何将网络流量转化为图像,并利用CNN模型进行端到端加密应用识别。该方法通过分析数据包大小和时序信息生成流量图像,有效绕过加密内容,实现对视频、聊天、文件传输等应用的精准分类。文章提供了从流量抓取、图像生成到轻量级CNN模型设计与训练的完整实战指南,并探讨了在VPN、Tor等复杂场景下的应用与挑战。

weixin_29046035的博客 151

leetcode 110. 平衡二叉树 balanced binary tree

给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:示例 1: 示例 2:示例 3: 提示:思路是对二叉树做先序遍历,从底至顶返回子树最大高度,若判定某子树不是平衡树则 “剪枝” ,直接向上返回。算法流程: recur(root):isBalanced(root) :复杂度分析:思路是构造一个获取当前节点最大深度的方法 depth(root) ,通过比较此子树的左右子树的最大高度差abs(depth(root.left) - depth(root.right)),来判断此子树是否

we 666

【Unity Animation 2D】从零到一:骨骼绑定与IK动画实战指南

本文详细介绍了Unity中2D骨骼绑定与IK动画的实战流程,从角色素材准备、骨骼系统创建到权重绘制和IK设置,逐步指导开发者掌握2D动画制作技巧。通过反向动力学(IK)技术,实现更自然的角色动画效果,适用于游戏开发和动画制作。

weixin_30430677的博客 371

110. 平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。 示例 2: 给定二叉树 [1,2,2,3,3,null,null,4,4...

dashe5547的博客 323

飞书应用开发脚手架lark-harness:从零构建企业级机器人

在构建企业级应用时,开发脚手架是提升工程效率和规范性的关键工具。其核心原理在于通过预设的项目模板、最佳实践和通用模块封装,自动化处理项目初始化、配置管理和基础架构搭建。这种技术价值在于将开发者从重复性劳动中解放出来,确保团队技术栈统一,并降低维护成本。在Node.js生态中,脚手架常与Express或Koa等Web框架结合,用于快速构建Web服务、API接口和实时事件处理系统。具体到飞书开放平台开发场景,开发者需要处理OAuth 2.0授权、事件订阅验证、消息加解密等复杂且标准的流程。lark-harnes

weixin_30703911的博客 612

Sentaurus TCAD 实战指南:几何、掺杂与物理模型对Ion/Ioff的协同调控

本文详细介绍了Sentaurus TCAD在器件仿真中的实战应用,重点解析了Ion(开态电流)与Ioff(关态电流)的协同优化方法。通过几何结构设计、掺杂工程和物理模型选择三大要素的精细调整,实现器件性能的显著提升。文章结合28nm和7nm工艺案例,展示了如何平衡Ion与Ioff的矛盾关系,为TCAD工程师提供实用指导。

weixin_29159711的博客 135

Leetcode 110. 平衡二叉树

题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 解答 解法一:多次遍历 O(n^2) 思路简单。 对于每一个结点都需要遍历一下左右子树,找到左右子树高度,然后判断是否符合平衡二叉树条件。 这导致时间复杂度变成 O(n^2) 。 代码 /** * Definition for a bin...

LetJava的博客 507

【UE5】三步搞定Pixel Streaming:从零搭建Windows像素流服务

本文详细介绍了如何在Windows平台上快速搭建UE5 Pixel Streaming像素流服务,从插件安装、项目打包到服务启动的全流程操作。通过实战案例和优化配置,帮助开发者实现零客户端配置、跨设备兼容的高性能3D应用流式传输,特别适合建筑可视化和实时协作场景。

weixin_29000991的博客 318

Leetcode(110)——平衡二叉树

Leetcode(110)——平衡二叉树 题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:true 示例 2: 输入:root = [1,2,2,3,3,null,null,4,4] 输出:false 示例 3: 输入:root = [] 输出:true 提示: 树中的节点数在范围 [0, 50

KCDCY的博客 730

STM32 RC522串口驱动程序 (简单直接)

rc522作为使用非常多的读写卡芯片,使用SPI芯片读写应用已经非常广了。但有些时候我们只有串口可以使用,或者我们觉得串口使用更加方便,那么就必须要编写串口的驱动程序。不过很难找到可以直接使用的串口程序。所以在此将我这边写好的串口驱动写好如下: 直接上代码 下面是RC522.C的驱动文件。支持读写卡号8位数据。rc522用的是stm32 的串口3,调试显示是串口1; #include "rc522.h" #include "delay.h" /////////////////////////////////

qq_42074368的博客 9001

26. 如何给 SAP BTP Cloud Foundry 环境分配运行时内存

摘要:本文解答了SAP BTP Cloud Foundry环境中Space可用内存为0MB的问题。指出Space内存配额取决于Org配额分配,其计算方式为Org总配额减去所有运行中应用实例的内存预留总和。详细解释了SAP BTP的资源分配层级(Global account→Subaccount→Environment→Org→Space),并说明如何通过Global account的Entity Assignments查看Memory Plan配额分配(以GB为单位)。最后建议遇到问题的用户检查Subacc

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1265

【算法与数据结构】110、LeetCode平衡二叉树

所有的LeetCode题解索引,可以看这篇文章——。

晚安的博客 585

基于MUSIC算法的DOA估计Matlab仿真

特别需要指出的是:通道与阵元并不是一一对应,通道是由空间的一个、几个或所有阵元合成的,当然空间某个特定的阵元可包含在不同的通道内。空间谱估计侧重于研究空间多传感器阵列所构成的处理系统对感兴趣的空间信号的多种参数进行准确估计的能力,其主要目的是估计信号的空域参数或信源位置,这也是雷达、通信、声纳等许多领域的重要任务之一。从系统框图中可以清晰的看出,估计空间相当于是对目标空间的一个重构过程,这个重构的精度由众多因素决定,如环境的复杂性、空间阵元的互耦、通道不一致、频带不一致等。

FPGA/MATLAB学习教程/源码/项目合作开发 1747

给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。

1.给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 2.代码展示 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * s...

qq_41152046的博客 2513

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

LeetCode110 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。

给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *rig...

CourageKang的博客 2246

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

JEREMY的博客 433

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

class Solution { public int maxDepth(TreeNode root) { if(root==null){ return 0; } int leftheight = maxDepth(root.left); int rightheight = maxDepth(root.right); return leftheight>rightheight ? leftheight+1:rightheight+1; } public boolean isBalanced(TreeN

zylscxy的博客 347

判断一个二叉树是否是平衡二叉树

题目: 题目链接:力扣https://leetcode-cn.com/problems/balanced-binary-tree/ 110. 平衡二叉树 难度简单991 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:true 示例 2: 输入:root = [1,2,2,3,3.

Morning Sunshine的IT技术博客 4841

C++——平衡二叉树的判断

给定一个二叉树,编程判断其是否是一个二叉平衡树。我们以Leetcode 110题为例来看。 平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 ...

Vincent的博客 2286

(二叉树)高度平衡二叉树的判定

题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 题目分析 由题意可知,高度平衡二叉树是指树上每个结点的左右两个子树的高度差的绝对值都不超过1。那么就可以采取以下思路:首先递归每个结点,然后对每个结点而言,得出其左右子树的高度,比较二者高度差绝对值是否超过1,如果没有超过1,说明当前结点是符合...

HerofH_的博客 5655

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

给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树[3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回true。示例 2: 给定二叉树[1,2,2,3,3,null,null,4,4] 1 / \ 2 2 / \ 3 3 ...

luxuiary的博客 916

判断是否为平衡二叉树

判断是否为平衡二叉树

weixin_50601177的博客 3643

LeetCode 110. 平衡二叉树(二叉树高度)

1. 题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 2. 解题 递归求二叉树左右子树高度 当中任何一个的子树高度差超过1,停止搜索 class Solution { public: bool isBalanced(TreeNode* root) { bool ba...

Michael是个半路程序员 1400

力扣 给定一个二叉树,判断它是否是高度平衡的二叉树

本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 思路:1、若为空树,返回true 2、求root左子树高度leftHeight和右子树高度rightHeight 3、检测root左右子树是否满足平衡二叉树定义即高度差的绝对值 4、递归检测:root左子树是否为平衡树&&root右子树是否为平衡树 class Solution { ...

大大大大大玟的博客 795

判断一棵二叉树是否为平衡二叉树

基于递归判断一棵二叉树是否为平衡二叉树题目解决思路代码说明 题目 (1)给定一个二叉树,判断它是否是高度平衡的二叉树。 (2)本题中,一棵高度平衡二叉树的定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 (3)示例如下: 输入:root = [3,9,20,null,null,15,7] 输出:true 解决思路 采用递归思想解决。 具体步骤: 第一步:递归获取根节点左子树的高度 L。 第二步:递归获取根节点右子树的高度 H。 第三步:判断是否平衡。如果 H 和 L 之差的绝对

along_000的博客 1194

输入一棵二叉树,判断该二叉树是否是平衡二叉树。

平衡二叉树的左右子树也是平衡二叉树,那么所谓平衡就是左右子树的高度差不超过1. 平衡二叉树:平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树。 思路:利用求深度的方法...

qq_41177361的博客 770
上一篇: 奥巴马一起编程-按照指定格式输出正方形(美国总统奥巴马不进呼吁所有人都学习编程,甚至以身作则编写代码,,输入在一行中给出的正方形的边长N和组成正方形的某种字符,间隔一个空格)
下一篇: 给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构 和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所 有子孙。s 也可以看做它自身的一棵子树。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值