(刷题笔记) Leetcode 面试题 04.04. 检查平衡性

ExpressLRS 915MHz vs 2.4GHz:实测对比与TX12遥控器的最佳搭配方案 本文深入对比了ExpressLRS 915MHz与2.4GHz两种频段在穿透能力、延迟、抗干扰等方面的实测表现,并结合RadioMaster TX12遥控器的硬件特性,提供了从微型花飞到极限远航等不同场景下的最佳搭配方案与EdgeTX系统配置指南,帮助FPV玩家根据核心飞行需求做出精准选择。 阅读详情

题目

实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 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 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/check-balance-lcci

解题思路

本题最主要的是考察求二叉树的最大深度,然后在此基础上比对每个结点的左右子树的深度差。

代码(C++)

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    int maxDepth(TreeNode *root){

        if(root==NULL) return 0;

        int left=maxDepth(root->left);
        int right=maxDepth(root->right);

        return max(left,right)+1;
    }
    bool isBalanced(TreeNode* root) {

        if(root==NULL) return true;

        if(abs(maxDepth(root->right)-maxDepth(root->left))>1)
            return false;

        return isBalanced(root->left)&&isBalanced(root->right);

    }
};
三维重建笔记_光束平差法(Bundle Adjustment, BA) 目录 1 光束平差法(Bundle Adjustment, BA) 1.1 SFM (Structure‐from‐Motion) 定义 问题描述 1.2 重投影误差 (Reprojection Error) 目标函数 1.3 使用 Levenberg‐Marquardt Algorithm 进行优化 问题描述 简化目标函数 参考 Gauss‐Newton Method ... 阅读详情

相关推荐

从ResNet到EfficientNet:特征金字塔网络(FPN)在不同骨干网中的适配指南

本文深入探讨了特征金字塔网络(FPN)与ResNet、VGG、EfficientNet等主流骨干网络的适配策略。文章详细解析了FPN的核心原理,并针对不同骨干网络的特征提取特性,提供了通道对齐、参数量估算及迁移学习的系统化指南,旨在帮助开发者在目标检测等视觉任务中构建高性能、高效率的模型。

weixin_29047919的博客 221

力扣题解:面试题 04.04. 检查平衡性

实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。

胡矣 312

基于ROS下的安卓手机图像和IMU跑ORB-SLAM3

接之前文章继续,手上没有现成的单目+IMU硬件,但是安卓手机几乎人人都有。因此,本文讲下如何用手机跑ORB-SLAM3的Mono和Mono_Inertial。 1. 手机与PC通信 基于ROS下的信息发布和订阅,手机和PC在一个局域网下进行信息(image和IMU)传输。 手机APK参考了github上的2个开源Android_Camera-IMU和android_ros_sensors,基于ros_java生成安卓APP,下载安装任一个APP到安卓手机,界面分别是这样: 手机和PC连一个无

h_372101的博客 1万+

Leetcode110.平衡二叉树

110:平衡二叉树题目思路一——暴力思路二 题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20     / \     15 7 返回true。 思路一——暴力 通过调用函数分别求解左右子树的最大深度,然后求解其高度绝对差值,如果不满足条件,返回fal

weixin_43859246的博客 243

AT32串口打印全攻略:从零搭建到printf重定向(GCC版)

本文详细介绍了在GCC编译环境下为AT32系列MCU实现串口打印与printf重定向的完整方案。针对从Keil MDK迁移到GCC工具链时常见的串口无输出问题,文章从环境搭建、USART配置入手,重点剖析了GCC下printf重定向的核心原理——通过重写_write()函数,并提供了经过验证的代码实现、常见问题排查及性能优化建议。

weixin_29163797的博客 265

STM32标准库下载保姆级教程:2024最新官网免注册直接下载方法

本文提供2024年最新STM32标准库免注册下载方法,包括直接下载链接、GitHub镜像仓库和开发工具内置库三种途径。详细介绍了标准外设库的优势、配置步骤及常见问题解决方案,帮助开发者快速获取并应用这一重要开发资源。

weixin_29163581的博客 367

【面试题 04.04】 检查平衡性

题目描述:(来源于力扣) 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。 解题思路 1)递归求解每个节点的高度,关键在于父节点和子节点的高度值之间的关系; 2)计算平衡因子; 3)计算平衡性,使用递归求解每一个节点的平衡因子; 如果缺少最后的递归左右子树,就会导致只计算了根节点的平衡因子,其他节点的平衡因子都没有计算。 代码 /...

喜欢吃冰棍de谷利文君的博客 360

Petalinux 2021.2 下 Qt组件编译报错?手把手教你修改bb文件搞定qt3d/qtquickcontrols2

本文详细解析了Petalinux 2021.2环境下Qt组件(如qt3d、qtquickcontrols2)编译报错的解决方案。通过修改bb文件或使用bbappend文件覆盖,有效解决`petalinux-build --sdk`命令执行时的源码获取失败或哈希校验不匹配问题,并提供验证与调试技巧,帮助开发者快速修复构建流程中断问题。

weixin_29188997的博客 216

力扣 面试题 04.04. 检查平衡性

面试题 04.04. 检查平衡性 难度简单10收藏分享切换为英文关注反馈 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 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 /

qq_41723573的博客 217

STM32驱动SPL06-001气压传感器:I2C通信与温度补偿实战

气压传感器在无人机定高、室内定位和气象监测中至关重要。SPL06-001凭借±0.06 hPa相对精度和I2C接口,成为STM32项目的理想选择。通过I2C总线读取原始数据,并利用出厂校准系数进行温度补偿和气压解算,可输出高精度气压值。本文详细解析SPL06-001的寄存器操作、校准系数拼接及补偿算法,并分享I2C上拉电阻、地址配置等避坑经验,帮助开发者快速实现气压测量与高度解算。

weixin_29188043的博客 340

【S32K3 MCAL配置】-1.1-GPIO配置及其应用-DIO之高低电平输出-点亮LED灯(基于MCAL)

【S32K3 MCAL配置】-1.1-GPIO配置及其应用-点亮LED灯(基于MCAL)

「汽车电子助手」的博客 1937

LeetCode面试题04 检查平衡性

二叉树,一种由节点组成的树形数据结构,每个节点最多有两个子节点,分别称作左子节点和右子节点。而平衡二叉树,可不是普通的二叉树,它有着严苛的要求:对于树中的任意一个节点,其两棵子树(左子树和右子树)的高度差不能超过 1。这个定义看似简单,实则暗藏玄机,它关乎二叉树的查找效率、稳定性等诸多性能指标。想象一下,如果一棵二叉树极度不平衡,就如同瘸腿走路,某些操作的耗时会大幅增加,效率大打折扣。举个例子,在一棵平衡二叉搜索树里,查找一个元素的时间复杂度接近O(可要是树失衡了,最坏情况下查找时间复杂度能退化成O(

qq_64604732的博客 2055

R3LIVE项目实战(3) —双目相机与激光雷达 lidar_camera_calib联合标定

lidar_camera_calib是一个在无目标环境中,用于高分辨率LiDAR(例如Livox)和摄像机之间准确的外部标定工具。我们的算法可以在室内和室外场景中运行,并且只需要场景中的边缘信息。如果场景适合,我们可以实现类似于或甚至超过基于目标的方法的像素级准确度。我们使用标定的外部参数给点云上色,并与实际图像进行比较。A和C是点云的局部放大视图。B和D是与A和C中的点云对应的摄像机图像的部分。

几度春风里的博客 4057

LeetCode-检查平衡性

题目要求 原题链接:面试题 04.04. 检查平衡性 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 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

快乐学术猿 195

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

面试题 04.04. 检查平衡性 (递归)

LeetCode: 面试题 04.04. 检查平衡性 递归回溯 剑指 Offer 有一道这样的题 不会写了, 而且一开始还记错了写法。。 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Sol

lankerens 577

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

二叉树系列-Leetcode 面试题 04.04. 检查平衡性

文章目录问题描述解题报告实现代码参考资料 问题描述 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。 解题报告 这种二叉树问题,首先考虑递归。树是天然的递归结构,左节点是树,右节点也是树。 所以满足以root为根的树是具有平衡性的话: 左子树需要满足平衡性; 右子树亦需满足平衡性; 同时左子树与右子树的高度差在1以内。 实现代码 /** * Definition for a binary tree node. * struct Tree

MD 357

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LeetCode面试题 04.04. 检查平衡性

LeetCode 面试题 04.04. 检查平衡性 原题链接 题目描述 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 true 。 示例 2: 给定二叉树 [1,2,2,3,...

Ember_Sky 900

C++算法学习(力扣:面试题 04.04 检查平衡性)

力扣:面试题 04.04 检查平衡性 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 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

weixin_45743162的博客 304

刷题-Leetcode-面试题 04.04. 检查平衡性(递归、深搜)

面试题 04.04. 检查平衡性 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/check-balance-lcci/ 题目描述 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / 9 20 / 15 7 返回 true 。 示例 2: 给定二叉树 [1,2,2,3,3,null,null,

qq_42771487的博客 238

leetcode 面试题 04.04. 检查平衡性 基础dfs

实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 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 。 来源:力扣(LeetCode) 链接:https://le

马角的逆袭的博客 196

【leetcode-python-34】面试题 04.04. 检查平衡性

【leetcode-python-34】面试题 04.04. 检查平衡性参考大佬版1(5.46%)参考大佬版2(64.71%) leetcode 面试题 04.04. 检查平衡性 参考大佬版1(5.46%) 用check_height函数返回子树高度。在主函数中判断高度差,若相差大于1,则返回False。如果左右子树高度差相差小于等于1,则再看左右子树是否同时为平衡树。 注:参考题解区疾风知劲草思路。 class Solution(object): def isBalanced(self, root

huajiao4的博客 329

刷题-Leetcode-面试题 04.04. 检查平衡性

面试题 04.04. 检查平衡性 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/check-balance-lcci/ 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题目分析 满足的条件:任意一个节点,其两棵子树的高度差不超过 1。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNod

qq_42771487的博客 483

leetcode 面试题 04.04. 检查平衡性

实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 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 。 来源:力扣(Lee...

qinian_ztc的博客 352

04.04 检查平衡性

原题目 面试题 04.04. 检查平衡性 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 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 返

Cigar 224

【LeetCode刷题(简单程度)】面试题 04.04. 检查平衡性(树)

实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 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 。 来源:力扣(Lee...

qq_33197518的博客 248

LeetCode刷题:树专题

文章目录【1】面试题 04.04. 检查平衡性【2】530. 二叉搜索树的最小绝对差【3】538. 把二叉搜索树转换为累加树【4】1022. 从根到叶的二进制数之和【5】543. 二叉树的直径【6】563. 二叉树的坡度【7】572. 另一个树的子树【8】606. 根据二叉树创建字符串【9】617. 合并二叉树【10】100. 相同的树 【1】面试题 04.04. 检查平衡性 考点: 递归 思路1: 从顶向下,若根节点的左右子树高度相差小于等于1(即是平衡树),则递归向下检查每个子树是否也为平衡树。 思路2

学习 & 分享 ~ 570
上一篇: (刷题笔记)Leetcode 面试题 17.12. BiNode
下一篇: (刷题笔记)Leetcode 653.两数之和 IV - 输入 BST
Lucky&Happy
博客等级 码龄10年 1粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值