/*
平衡二叉树:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1
1.递归判断二叉树是否是平衡二叉树
2.递归找二叉树高度,求高度也是用递归
递归停止条件:
递归到叶子节点时终止,即root.left==null && root.right == null时,返回1;root==null时,返回0。
*/
public class Solution {
public boolean isBalanced(TreeNode root) {
if(root == null) {
return true;
}
int l = height(root.left);
int r = height(root.right);
//若本节点满足平衡二叉树,判断左右子树是否满足
if(l-r >= -1 && l-r <= 1) {
return isBalanced(root.left) && isBalanced(root.right);
} else {
return false;
}
}
public int height(TreeNode root) {
int leftHeight,
rightHeight;
if(root == null) {
return 0;
}
if(root.left == null && root.right == null) {
return 1;
}
leftHeight = height(root.left);
rightHeight = height(root.right);
return leftHeight>=rightHeight ? leftHeight+1:rightHeight+1;
}
}
相关推荐
CMAC算法原理
2、K1 通过以下运算导出:若 L 的最高有效位等于 0,则 K1 是 L 的左移 1 位。3、K2 通过如下运算导出:若 K1 的最高有效位等于 0,则 K2 是 K1 的左移 1 位。采用了 AES 算法中的类似 CBC 模式的加密方式,即对前一个分组的密文与当前分组的明文进行异或操作后在加密,2、分块处理:首先将消息分成多个固定长度的块,若消息长度不是块大小的倍数,则可以使用填充来将其填充到合适的大小。1、子密钥计算,通过主密钥生成子密钥(key1,key2),子密钥用于最后一个块处理;
平衡二叉树详解
平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都维持在O(logN)。但是频繁旋转会使插入和删除牺牲掉O(logN)左右的时间,不过相对二叉查找树来说,时间上稳定了很多。 平衡二叉树大部分操作和二叉查找树类似,主要不同在于插入删除的时候平衡二叉树的平衡可
如何浏览与下载全球免费的地图高分辨率(亚米级)的遥感影像?
前言 如果你想使用商业卫星的高分辨遥感影像,一般价格昂贵。我们可以使用地图平台上免费的高分辨率数据。目前数据源很多,比如说google earth、天地图、四维地球、必应地图等等。这些影像统一有一个共同点就是:RGB三波段;Web地图瓦片服务。这意味着我们可以通过瓦片服务下载影像,但下载的影像只有三个波段,分别是 一.引言 二、可使用高分辨率的地图数据源 1.Google Earth影像 2.Esri World Image 3.天地图 4.必...
数据结构之平衡二叉树详解
平衡二叉树(balanced binary tree)又称AVL树(Adelson-Velskii and Landis)一棵平衡二叉树或者是空树,或者是具有下列性质的二叉排序树: 1,左子树与右子树的高度之差的绝对值小于等于1; 2,左子树和右子树也是平衡二叉排序树.为了方便起见,给每个结点附加一个数字,给出该结点左子树与右子树的高度差.这个数字称为结点的平衡因子(BF).平衡因子 = 结点左子树的高度 - 结点右子树的高度根据平衡二叉树的定义,平衡二叉树上所有结点的平衡因子只
SAP采购信息记录批量维护实战:用BAPI ME_INFORECORD_MAINTAIN搞定价格等级和条件记录
本文深入解析SAP标准BAPI ME_INFORECORD_MAINTAIN在采购信息记录批量维护中的应用,特别聚焦价格等级和条件记录的技术难点。通过实战案例和代码示例,帮助用户高效处理供应商-物料价格数据,提升供应链管理效率。
无线通信入门:3种键控法(ASK/FSK/PSK)原理图解与实战对比
本文深入解析无线通信中ASK、FSK、PSK三种基础键控法的原理与应用。通过图解对比,阐明幅移键控(ASK)简单低成本但抗干扰差,频移键控(FSK)稳健且应用广泛,相移键控(PSK)高效但复杂。文章结合实战场景,为物联网和嵌入式开发者在选型时提供关键指导,帮助平衡数据速率、成本、功耗与抗干扰需求。
[数据结构和算法003]二叉搜索树(Binary Sort Tree)和二叉平衡树(Balanced Binary Tree)
为空树或者具有下列性质的二叉树:①左子树不空:则左子树所有节点小于根结点;②右子树不空:则右子树所有的结点大于根结点;③左右子树也分别为二叉搜索树。当中序遍历一棵二叉搜索树的时候,会得到一个以结点值递增的有序序列。首先给出二叉树的结构体定义int value;//构造函数:接受一个int类型的参数val并且初始化数据域value。
CloudCompare横截面工具实战:从点云切片到轮廓提取的完整流程
本文详细介绍了CloudCompare软件中Cross Section工具的核心功能与实战流程。从交互式裁剪框的精准操控,到包络线提取的参数设置与优化,再到内部轮廓提取及批量处理技巧,完整解析了如何从三维点云中高效提取建筑立面、隧道断面等关键轮廓信息,是点云数据处理与分析的实用指南。
平衡二叉树(Balanced Binary Tree)
平衡二叉树是一种特殊的通过保持平衡性,平衡二叉树可以在最坏情况下仍然具有较好的性能,保证查找、插入和删除操作的时间复杂度为O(log n)。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。
ComfyUI中一个超好用的变量管理类节点-KJNodes
在AI绘图中,ComfyUI的热度开始慢慢起来一些,但是这个软件在使用的过程中,需要很多连线,仅仅一个最简单的动画生成,就需要连接这么多线条,而且有些线会飞的很远,看起来就很不美观,尤其是一些复杂工作流,连接到最后自己可能已经分不太清楚到底连接好了没有。今天在研究C站的大佬们的工作流的时候,发现一个有意思的工作流,看起来大概是这种感觉:干净整洁。他用到了KJNodes这么个节点来管理变量,git上星标也不算很多,所以我想很多朋友可能还不知道,所以这里简单介绍下用法。
【测开求职】面试题:数据结构 吐血整理
本篇文章是笔者为准备研究生复试以及校招而写,因此主要针对问答,注重理解,而不在于细节计算。涵盖考研范围内的所有知识内容,读者可以先查看上面的链接走一遍数据结构的整体框架结构。其中,重点难点以及易混淆的知识点,笔者用其他近30篇文章进行了详述,在知识点处贴好了链接,有需要的可以查阅。
Java实现LeetCode 110. Balanced Binary Tree
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { publ...
【计算机视觉 | 目标检测】目标检测常用数据集及其介绍(十一)
【计算机视觉 | 目标检测】目标检测常用数据集及其介绍(十一)
【leetcode】110. Balanced Binary Tree【java】
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never diffe
STM32F407中文手册
STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
Java [Leetcode 110]Balanced Binary Tree
题目描述: Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees ofeverynode n...
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
LeetCode-110. Balanced Binary Tree [C++][Java]
Given a binary tree, determine if it is height-balanced.
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
[LeetCode] 110. Balanced Binary Tree Java
题目: Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees ofeverynode nev...
Leetcode:110. Balanced Binary Tree(JAVA)
【题目描述】 Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node
LeetCode 110. Balanced Binary Tree java
题目描述: Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary tree is defined as: a binary tree in which the depth of the two subtrees of every node nev...
Java for LeetCode 110 Balanced Binary Tree
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ ...
LeetCode 110. Balanced Binary Tree 题解 - Java
题目链接:https://leetcode.com/problems/balanced-binary-tree/#/description 题目要求:判断一棵树是否是平衡二叉树 最初尝试使用 | 二叉树的最大深度-二叉树的最小深度 | 对于上图所示的二叉树,树的最大深度是5,最小深度是3,5-3>1,但是这棵树是一颗平衡二叉树。因此上述方法不正确。
(Java)leetcode-110 Balanced Binary Tree(平衡二叉树)
两种方法求解:自上而下的暴力法,与自下而上的优雅法
【LeetCode】 110. Balanced Binary Tree 平衡二叉树(Easy)(JAVA)
【LeetCode】 110. Balanced Binary Tree 平衡二叉树(Easy)(JAVA) 题目地址: https://leetcode.com/problems/balanced-binary-tree/ 题目描述: Given a binary tree, determine if it is height-balanced. For this problem, a heig...
1659



被折叠的 条评论
为什么被折叠?



