题目描述

输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。

思路

详见链接

代码

class Solution:def isBalanced(self, root:TreeNode)->bool:def recur(root):if not root: return return 0left = recur(root.left)if left == -1: return -1right = recur(root.right)if right == -1: return -1return max(left, right) + 1 if abs(left-right)<=1 else -1return recur(root) != -1

复杂度

时间复杂度 O(N): N 为树的节点数;最差情况下,需要递归遍历树的所有节点。
空间复杂度 O(N): 最差情况下(树退化为链表时),系统递归需要使用 O(N)的栈空间。

剑指offer面试题55 - II. 平衡二叉树(后序遍历)(剪枝)相关推荐

  1. 【LeetCode】剑指 Offer 33. 二叉搜索树的后序遍历序列

    [LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 文章目录 [LeetCode]剑指 Offer 33. 二叉搜索树的后序遍历序列 package offer;public cl ...

  2. 剑指offer之二叉搜索树的后序遍历序列

    剑指offer之二叉搜索树的后序遍历序列 欢迎关注作者博客 简书传送门 题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个 ...

  3. 剑指 Offer 33. 二叉搜索树的后序遍历序列

    剑指 Offer 33. 二叉搜索树的后序遍历序列 原始题目链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-hou-xu-bian- ...

  4. 剑指offer 33. 二叉搜索树的后序遍历

    声明:本系列博客是对何海涛<剑指offer>的关键点总结. 1.问题描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果,如果是返回true,否则返回false.假设输入的数 ...

  5. 【超100%解法】剑指 Offer 33. 二叉搜索树的后序遍历序列

    立志用最少的代码做最高效的表达 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同. 示例 1: 输入: ...

  6. 二叉排序树的后序遍历序列必然是递增的_剑指offer 33——二叉搜索树的后序遍历序列...

    本题主要在于考察对二叉搜索树和后序遍历的理解. 原题 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同 ...

  7. 【分治】剑指 Offer 33. 二叉搜索树的后序遍历序列

    题目描述 (中等)输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果.如果是则返回 true,否则返回 false.假设输入的数组的任意两个数字都互不相同. 参考以下这颗二叉搜索树: 5/ ...

  8. 2021-08-24剑指 Offer 33. 二叉搜索树的后序遍历序列

    将二叉树划分为左右子树,分别对左右子树进行验证是否为二叉树, 根节点的下标为i, 右子树的开端为第一个大于根节点的数字m, 则左边的子树为[0,m-1],右边的子树的下标为[m,i-1] (这个不对, ...

  9. 剑指offer——面试题55:字符流中第一个不重复的字符

    剑指offer--面试题55:字符流中第一个不重复的字符 Solution1: 当年第一次做这个题的做法 对此题最大的感想是: 1)区分deque(双端队列)和queue(队列): 2)要熟悉queu ...

最新文章

  1. weblogic修改java重启_修改weblogic域的jdk
  2. 初中计算机flash操作,初中信息技术FLASH基础知识
  3. java基础之集合类
  4. pssh批量执行启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
  5. mysql 慢查询sql实例_Mysql sql慢查询监控脚本代码实例
  6. Qt 数据库操作(二)
  7. 【Centos 8】【Centos 7】安装 docker
  8. (课程学习笔记)Python初级入门精讲
  9. Lucene学习总结之八:Lucene的查询语法,JavaCC及QueryParser
  10. 利用UDEV服务解决RAC ASM存储设备名
  11. 揭秘ARouter路由机制,源码+原理+手写框架
  12. 刚刚做了一个菜单导航变亮的效果,共享一下吧!
  13. 十个多线程并发编程面试题(附答案)
  14. Elasticsearch从0.90(0.90.x)到1.2(1.x)API的变化-二
  15. Python 批量发送邮件脚本
  16. 轻松编写您自己的拖拉机算法,进行算法大战
  17. 拒绝平庸,这10个鲜为人知的实用网站,让你受益无穷!
  18. spritekit 动画_使用SpriteKit在Swift中创建动画
  19. php mysql 插入图片_mysql中怎样插入图片
  20. 用DEVC++写射击游戏

热门文章

  1. vs添加系统环境变量不识别_项目经验不重样!3个基于SpringBoot 的图片识别处理系统送给你...
  2. [实战]MVC5+EF6+MySql企业网盘实战(24)——视频列表
  3. VIM:使用js高亮对json文件着色
  4. tortoiseSVN svn+ssh
  5. sv_labs学习笔记——sv_lab4(System Verilog)
  6. Ossim系统常见测试方法
  7. 关于2014年上半年全国计算机等级考试有关事宜的通知,关于2014年上半年全国计算机等级考试报名的通知...
  8. php 格式化js文件,vscode编辑器在php文件中的html/js格式化解决方案
  9. 总结一下最近面试经常被问到的问题(2019年4月)
  10. 论文笔记-LSHTC: A Benchmark for Large-Scale Text Classification-2015