1. 题目

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

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

一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过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 。限制:
1 <= 树的结点个数 <= 10000

《剑指Offer》同题:面试题55 - II. 平衡二叉树

2. 解题

  • 递归求二叉树左右子树高度
  • 当中任何一个的子树高度差超过1,停止搜索
class Solution {public:bool isBalanced(TreeNode* root) {bool bal = true;balence(root,bal);return bal;}int balence(TreeNode* root, bool &bal) {if(!bal)return -1;if(root == NULL)return 0;int left_height = balence(root->left,bal);int right_height = balence(root->right,bal);if(abs(left_height-right_height)>1)bal = false;return max(left_height,right_height)+1;}
};

class Solution {bool balanced = true;
public:bool isBalanced(TreeNode* root) {depth(root);return balanced;}int depth(TreeNode* root){if(!balanced || !root)return 0;int depthL = depth(root->left);int depthR = depth(root->right);if(abs(depthL - depthR) > 1)balanced = false;return 1+max(depthL, depthR);}
};

LeetCode 110. 平衡二叉树(二叉树高度)相关推荐

  1. 39. Leetcode 110. 平衡二叉树 (二叉树-二叉树性质)

    给定一个二叉树,判断它是否是高度平衡的二叉树.本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 .示例 1:输入:root = [3,9,20,null, ...

  2. LeetCode 110. 平衡二叉树(Balanced Binary Tree) 15

    110. 平衡二叉树 110. Balanced Binary Tree 题目描述 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点的左右两个子树 ...

  3. 49 - 算法 - LeetCode 110 平衡二叉树 - 求二叉树的高度 -双重递归

    // 求二叉树的高度函数 nullptr为0 然后累加 +1 return left-right // 结论都还是递归 当前状态 多加了一个递归求高度 双重递归 class Solution {pub ...

  4. LeetCode 110. 平衡二叉树思考分析

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

  5. leetcode 110. 平衡二叉树

    难度:简单 频次:61 题目: 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 . 解题思路:算深度+ ...

  6. [leetcode]110.平衡二叉树

    给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 . 示例 1: 输入:root = [3,9,20,n ...

  7. LeetCode 110平衡二叉树-简单

    给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 . 示例 1: 输入:root = [3,9,20,n ...

  8. 2022-5-4 Leetcode 110.平衡二叉树

    这道题需要用到两个函数: 两个函数的处理逻辑分别是: 1)求树的高度 2)比较树的高度是否符合条件 /*** Definition for a binary tree node.* struct Tr ...

  9. Leetcode 110.平衡二叉树

    Time: 20190901 Type: Easy 题目描述 思路 DFS遍历时判断是否满足平衡树的性质,如果不满足返回-1,直接截断计算. 代码 # Definition for a binary ...

最新文章

  1. 7-27 冒泡法排序 (C语言)
  2. 无协议脱欧将有损英国未来?议员吁支持二次公投
  3. [Cinder] 存储 Qos
  4. 21行代码AC_【蓝桥杯】承压计算(解题通法+技巧)
  5. OrchardCore 如何动态加载模块?
  6. 微信分享网页链接缩略图不显示解决方法
  7. CentOS7下安装配置Tomcat环境
  8. kubenerte启动_老司机和你深聊Kubenertes 资源分配之 Request 和 Limit 解析
  9. 网站无脑搭建,自己可以建个站玩一玩儿
  10. File.ReadAllText读取文件中文乱码
  11. 简述利用PE系统破解Windows密码
  12. Arcgis(二) 绘制区域划分示意图——以重庆五大功能区为例
  13. 一招,提高 Github 成员微信群运营效率
  14. 复旦MBA项目GNW海外课程|连线全球顶尖商学院,跨时空学习精彩无限!
  15. 【揭秘】美团外卖日单量破1600万背后的“超级大脑”之订单分配
  16. C++求复数的角度_python实现输入三角形边长自动作图求面积案例
  17. 滤波电容的大小的选取
  18. pku 1265 Area
  19. 怎么删除计算机的打印机设备,win7系统的打印机删除不掉怎么办?完美解决方法看这里!...
  20. Java中文网站收藏

热门文章

  1. 常用字符串处理函数汇总
  2. xcode8 崩溃问题
  3. mysql mtop_mysqlmtop2.2运行出错
  4. 导致大量kworker的原因_高尿酸与生活习惯有关?导致高尿酸的8个坏习惯,现在改还来得及...
  5. 第五季1:AP模式USB-WIFI网卡移植与测试
  6. find、grep,which、whereis
  7. inputstream的大小为0_刘科排列三第2020306期推荐:独胆参考0,双胆0和7
  8. Excel 取消Internet及网络路径自动替换为超链接
  9. 制作jffs2根文件系统
  10. 面试官让你用C语言实现大数相乘,慌吗?