leetcode 110.平衡二叉树

2023-10-27

110. 平衡二叉树

leetcode 110.平衡二叉树

题目描述
在这里插入图片描述

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

该二叉树不是平衡二叉树,不是 每个节点的左右子树高度差不超过1。

递归解法

每次递归结束时都是当二叉树为一个根节点,return 1+0+0;

后序遍历

class Solution {
    int getheight(TreeNode* node)
    {
        if(node ==nullptr) 
            return 0;
        int lheight=  getheight(node->left); //左
        if(lheight==-1) return -1;
        int rheight = getheight(node->right); //右
        if(rheight==-1) return-1;
        return abs(lheight-rheight)>1? -1:  1+max(lheight,rheight); //中 
        //高度差超过1时,返回-1,否则返回当前二叉树的高度

    }

public:
    bool isBalanced(TreeNode* root) {
        return getheight(root) == -1? false:true;
    }
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

leetcode 110.平衡二叉树 的相关文章

  • 是否可以使静态控件透明?

    我正在尝试实现一个静态控件 该控件刷新 更改文本 以响应每秒发生一次的某个事件 由于我不想每秒绘制整个客户区域 所以我决定使用静态控件 现在的问题是父窗口被蒙皮 这意味着它有自定义位图作为背景 而静态控件没有适应 所以我正在寻找使静态控件的
  • 求 a 范围内的 pow(a^b)modN

    对于给定的b and N以及一系列a say 0 n 我需要找到ans 0 n 1 where ans i 没有a s为此pow a b modN i 我在这里搜索的是可能的重复pow a b modN对于一系列a 以减少计算时间 例子 i
  • HTML 文档

    有没有一个工具可以从 VS2010 生成的 XML 文档文件生成 HTML 页面 我在谷歌上搜索了这样的工具 但没有找到 我下载并安装了SandCastle 但我不明白如何使用它 尝试使用Sandcastle 帮助文件生成器 http sh
  • gets 和 scanf 有什么区别?

    如果代码是 scanf s n message vs gets message 有什么区别 似乎两者都获取消息的输入 基本区别 参考您的特定场景 scanf 遇到一个时结束接受输入whitespace newline or EOF gets
  • 运行时两个注册之间的简单注入器基于动态上下文的注入

    我有一个使用 Simple Injector 进行命令处理程序注册的中介应用程序 并且注入和处理程序均已设置并完美运行 class DoWashingCommandHandler IRequestHandler
  • 外部剃刀视图看不到外部模型

    我对外部剃刀视图有疑问 在我的项目中 我有主 mvc Web 程序集和动态加载的外部类库程序集 来自 DB 及其自己的控制器 视图和模型 这些程序集在运行时不会直接引用和加载 我能够通过为控制器创建自定义控制器工厂 为视图创建自定义虚拟路径
  • C# Visual Studio 动态代码片段

    我正在开发一个 WinForms 项目 每天都会执行一些重复性的任务 所以我认为创建代码片段 https msdn microsoft com en us library ms165394 v vs 110 aspx会帮助我 但它仅适用于固
  • 如何在 C++ 中从模板基类的构造函数调用模板超类的构造函数?

    我正在使用 sublimetext3 用 c 进行编程 我的程序有一个名为 Array 的超类和一个名为 IntArray 的子类 这两个类都是模板类 目前 我在编译该程序时遇到问题 它不断在我的 IntArray cpp 文件中给出错误
  • 如何将 QSerialPort 模块添加到 CMake 中?

    我想将 QSerialPort 模块添加到 CMake 中 根据我的理解 我需要将QT 串口添加到 pro中 我只想使用 CMake 所以我尝试编译简单的 CMake 文件 但有错误 QtCore 正在工作 qDebug 可以毫无问题地显示
  • 使用私有构造函数的 C# 单元测试类?

    好吧 我刚刚收到一个作业 我必须对具有私有构造函数的类执行单元测试 现在 当所有方法也都是非静态时 我该如何在不初始化类的情况下进行单元测试 有什么方法可以对具有私有构造函数的类进行单元测试 无需反射 如果您无法将类公开 您仍然可以通过以下
  • Linux C++ 调试器

    我正在寻找完美的 Linux C 调试器 我不期望成功 但搜索应该提供丰富的信息 我是一个非常有能力的 gdb 用户 但 STL 和 Boost 很容易压垮我的调试技能 并不是说我无法深入了解数据结构的内部结构 而是它需要很长时间 我通常会
  • 解析通过asp:FileUpload上传的XML文件

    我有一个场景 用户将上传 XML 文件 我想将该文件添加到数据库中的表中 不过 困难的部分是我需要解析文件 然后将一些信息添加到一些不同的表中 显示如何获取 XML 文件的每个示例都使用 URI 来获取文件 但是如何直接从数据库获取文件 或
  • UWP - 绑定枚举差异

    我遇到了一个非常有趣的问题 假设 UWP 应用中有以下 XAML 页面内容
  • 是否有理由为什么用 XmlInclude 修饰的基类在序列化时仍然会抛出类型未知的异常?

    我将简化代码以节省空间 但所提供的内容确实说明了核心问题 我有一个类 它的属性是基类型 有 3 个派生类可以分配给该属性 如果我将任何派生类分配给容器并尝试序列化容器 XmlSerializer 会抛出可怕的错误 类型 x 不是预期的 使用
  • 链接错误:xxx 已在 *****.LIB 中定义:: 究竟出了什么问题?

    Problem 我正在尝试使用一个名为DCMTK http dicom offis de dcmtk它使用了一些其他外部库 zlib libtiff libpng libxml2 libiconv 我已经从同一网站下载了这些外部库 LIB
  • 为什么 ASP.Net MVC Range 属性采用类型?

    我只是想知道为什么范围验证属性可以采用类型和两个字符串作为参数 这是为了根据枚举或类似的东西验证字符串吗 另外 我想做的是找到一种简单的方法来验证必须出现在枚举中的 3 个字符的字符串 有什么建议吗 谢谢 亚历克斯 我确实发现你提到的 Ra
  • 更快的 WinSock sendto()

    我使用的是 Windows Server 2008 我的程序是用 C 编写的 我在 while true 循环中使用 WinSock2 和 sendto 来发送数据包 代码如下 while true if c snd gt max c sn
  • 64 位随机生成器种子

    我目前正在运行一个具有 8 个以上管道 线程 的多线程模拟应用程序 这些管道运行非常复杂的代码 该代码取决于种子生成的随机序列 然后该序列被归结为单个 0 1 我希望在将种子从主线程传递到处理管道后 这种 随机处理 具有 100 的确定性
  • 预览MouseMove 与 MouseMove

    我有相当多的 XAML 经验 但最近我注意到我的大多数同事都使用预览鼠标移动代替鼠标移动事件 我一直用鼠标移动它对我很有帮助 但我忍不住问我什么时候应该使用预览鼠标移动什么时候鼠标移动 有什么区别 各自有什么优点和缺点等等 PreviewM
  • 如何以一对一/零关系更新员工和身份用户

    我正在尝试更新员工记录 也想更新身份用户 如果我先单独更新身份用户 例如 UserManager Update user Context Entry employee State System Data Entity EntityState

随机推荐

  • 国内网络摄像机的端口及RTSP地址

    海康威视 默认IP地址 192 168 1 64 DHCP 用户名admin 密码自己设 端口 HTTP 端口 默认为 80 RTSP 端口 默认为 554 HTTPS 端 口 默认 443 和 服务端口 默认 8000 ONVIF端口 8
  • 揭秘阿里新一代SpringCloud学习指南:掌握最具中国特色的微服务组件

    SpringCloud Alibaba 的优势 阿里使用过的组件经历了考验 性能强悍 设计合理 现在开源出来给大家用 成套产品搭配完善的可视化界面给开发运维带来了极大的便利 搭建简单 学习曲线低 作为国内微服务领域的领军企业 阿里巴巴在微服
  • 自定义设置一个屏保程序

    用C语言写一个简单的窗口程序 目的是生成一个可视化的图形窗口 需要用到EasyX库 可在文章末尾的网盘链接中下载 该程序退出需左击鼠标 否则无法退出 include
  • Learning_the_shell

    昨天逛了www linuxcommand org 学习了shell的基本知识 对alias function type等基本命令有了比较深入的了解 还有就是对top kill ps jobs等进程命令有了更清晰的了解 特别是kill的参数问
  • MRI T1加权结构

    MRI是多参数成像 出于分析图像的方便 希望一帧MRI图像的灰度主要由一个特定的成像参数决定 这就是所谓的加权图像 weighted imaging WI 例如图像灰度主要由T1决定时就是T1加权图像 主要由T2决定时就是T2加权图像 主要
  • ubuntu18.04安装caffe(cpu版)

    主要根据ubuntu安装caffe这个博客 网上有些教程说要安装protobuf2 6 1 实际上只要有protobuf就行 版本无所谓 如果编译过程中出现google protobuf未定义的引用之类的报错 可能是protobuf版本和g
  • Python 类中pass语句

    Python pass 是空语句 是为了保持程序结构的完整性 pass 不做任何事情 一般用做占位语句 本文主要介绍Python 类中pass语句 原文地址 Python 类中pass语句
  • 普氏分析 matlab,降维和特征提取 - MATLAB & Simulink - MathWorks 中国

    特征选择 Learn about feature selection algorithms and explore the functions available for feature selection This topic intro
  • 10 分钟上手 Vue 组件 Vue-Draggable

    Vue 综合了 Angualr 和 React 的优点 因其易上手 轻量级 受到了广泛应用 成为了是时下火热的前端框架 吸引着越来越多的前端开发者 本文将通过一个最简单的拖拽例子带领大家快速上手 Vue 组件 Vue Draggable 首
  • 使用()控件的saveas方法可以将上传文件保存到服务器.,3.25.1 使用FileUpload控件上传文件...

    VB Protected Sub Button1 Click ByVal sender As Object ByVal e As System EventArgs If FileUpload1 HasFile Then Try FileUp
  • Android禁用第三方应用

    需要权限android Manifest permission CHANGE COMPONENT ENABLED STATE 而这个权限是只有system app才能使用 所以app需要系统签名 非system app即便在Android
  • Java中使用到的异步任务总结(CompletableFuture类,@Async注解)

    文章目录 1 CompletableFuture 1 1 Completable supplyAsync 1 2 Completable runAsync 1 3 get方法 1 4 使用自定义线程池 1 5 Completable all
  • LaTex

    LaTex LaTex 前言 一 安装配置LaTex 版本安装介绍 配置使用的IDE 二 简单的论文配置问题 基本的语法 1 文档类型和开始 2 最基础的格式化命令 3 Chapters and Sections 文章的章节 4 添加图片
  • 大学物理实验:迈克尔逊干涉仪的调整与使用

    若本文对你有帮助 记得点赞 关注我哟 大学物理专栏https blog csdn net qq 41587612 category 9323622 html
  • Java图形化界面设计之容器(JFrame)详解

    Java图形化界面设计之容器 JFrame 详解 Java图形化界面设计 容器 JFrame 程序是为了方便用户使用的 因此实现图形化界面的程序编写是所有编程语言发展的必然趋势 在命令提示符下运行的程序可以让我们了解java程序的基本知识体
  • kvm的快照功能 (二、基于libvirt的快照)

    实例二 利用libvirt使用快照 virsh snapshot create domain name 一 创建虚机快照 名字自动生成 可在开机 关机 suspend等各种状态下做 virsh snapshot create test Do
  • 【TensorFlow 入门】6、eval 函数

    eval 其实就是tf Tensor的Session run 的另外一种写法 但两者有差别 eval 将字符串string对象转化为有效的表达式参与求值运算返回计算结果 eval 也是启动计算的一种方式 基于Tensorflow的基本原理
  • 算法入门之最常用的排序:快速排序算法

    回顾前面2篇文章我们提到了桶算法和冒泡算法 虽然冒泡算法解决了桶算法的空间问题 但是如果排序的基数比较大 你会发现冒泡算法的时间复杂度O N 也是惊人的 有没有一种更好的算法既能解决空间问题又能解决时间复杂度的问题呢 答案就是我们今天要说的
  • 华为机试题:【中级】报文转换

    描述 报文转换 报文中如果出现0x7E 转义成为2个字节0x7D 0x5E 如果出现0x7D 转义成为2个字节
  • leetcode 110.平衡二叉树

    110 平衡二叉树 leetcode 110 平衡二叉树 题目描述 平衡二叉树 每个节点的左右两个子树的高度差的绝对值不超过1 该二叉树不是平衡二叉树 不是 每个节点的左右子树高度差不超过1 递归解法 每次递归结束时都是当二叉树为一个根节点