力扣:面试题 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 。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/check-balance-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
我的代码:

class Solution {public:bool isBalanced(TreeNode* root) {return getnum(root) !=-1;//如果返回-1,那就是false的啦}int getnum(TreeNode *root){//如果只有根那就是直的啦if(!root) return 1;//求左树的深度int left = getnum(root->left);//求右树的深度int right = getnum(root->right);//进行判断,一共有三种情况,1.左子树没有平衡性。2.右子树没有平衡性。3.根这里的left和right差的绝对值大于1。if((right == -1) || (left== -1) || ( abs(left - right)>1)) return -1;//返回当前节点的深度,记得拿左右之中最大的加一哦。return max(right,left)+1;}};


嘻嘻,加油。

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

  1. C++算法学习(力扣:面试题 16.04. 井字游戏)

    设计一个算法,判断玩家是否赢了井字游戏.输入是一个 N x N 的数组棋盘,由字符" ","X"和"O"组成,其中字符" &quo ...

  2. C++算法学习(力扣:328. 奇偶链表)

    给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂度应为 O(1),时 ...

  3. C++算法学习(力扣:1091. 二进制矩阵中的最短路径)

    在一个 N × N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1). 一条从左上角到右下角.长度为 k 的畅通路径,由满足下述条件的单元格 C_1, C_2, -, C_k 组成: 相邻单 ...

  4. C++算法学习(力扣:201. 数字范围按位与)

    给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点). 示例 1: 输入: [5,7] 输出: 4 ...

  5. C++算法学习(力扣:134. 加油站)

    在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升.你从其中的一个加 ...

  6. C++算法学习(力扣:402. 移掉K位数字)

    给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导零. 示例 1 : 输入: nu ...

  7. C++算法学习(力扣:859. 亲密字符串)

    给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true :否则返回 false . 交换字母的定义是取两个下标 i 和 j (下标 ...

  8. C++算法学习(力扣:1122. 数组的相对排序)

    给你两个数组,arr1 和 arr2, arr2 中的元素各不相同 arr2 中的每个元素都出现在 arr1 中 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序 ...

  9. C++算法学习(力扣:1003. 检查替换后的词是否有效)

    给定有效字符串 "abc". 对于任何有效的字符串 V,我们可以将 V 分成两个部分 X 和 Y,使得 X + Y(X 与 Y 连接)等于 V.(X 或 Y 可以为空.)那么,X ...

最新文章

  1. windows模糊查询指定进程是否存在
  2. C# Socket实现聊天通信
  3. 求首尾相接的数组的最大子数组和
  4. 一种JPG/PNG在线转EPS/PDF的方法
  5. Pb(96) The serializable class Model does not declare a static final serialVersionUID field of typ...
  6. Git学习笔记总结和注意事项
  7. Python 模拟微博登陆,亲测有效!
  8. 程序员如何打破 30 岁职业瓶颈?
  9. 详解python运行三种方式_详解python运行三种方式
  10. 广义相对论场方程的发现是必然的
  11. matlab 坐标轴根号,Matlab中根号表示怎么操作?根号表示教程分享
  12. winForm中 Invalidate(),Update(),Reflash(),
  13. Redis集群管理工具redis-trib
  14. 利用OD去软件弹窗广告教程-[WinRAR_3.9]为例
  15. 使用Arcgis制作的专题地图
  16. CITA Release v0.18
  17. 8.2 JVM命令行监控——jstat
  18. win10右键一直卡死解决记录
  19. mp4类文件的AAC编码完美修复方法
  20. RMQ与SparseTable(ST表)

热门文章

  1. 【Leetcode 795】Number of Subarrays with Bounded Maximum
  2. 首次打开文件简单分析
  3. Linux下Qt的QPixmap加载图片无法显示的问题
  4. ubuntu 16.04 远程挂载硬盘
  5. 深度学习网络架构(二):AlexNet
  6. 【LOJ】#2230. 「BJOI2014」大融合
  7. 【转】cs231n学习笔记-CNN-目标检测、定位、分割
  8. HDU 4763 Theme Section ( KMP )
  9. 生成器 Generators
  10. Keepalived实战(3)