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/ \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 检查平衡性)相关推荐
- C++算法学习(力扣:面试题 16.04. 井字游戏)
设计一个算法,判断玩家是否赢了井字游戏.输入是一个 N x N 的数组棋盘,由字符" ","X"和"O"组成,其中字符" &quo ...
- C++算法学习(力扣:328. 奇偶链表)
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起.请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性. 请尝试使用原地算法完成.你的算法的空间复杂度应为 O(1),时 ...
- C++算法学习(力扣:1091. 二进制矩阵中的最短路径)
在一个 N × N 的方形网格中,每个单元格有两种状态:空(0)或者阻塞(1). 一条从左上角到右下角.长度为 k 的畅通路径,由满足下述条件的单元格 C_1, C_2, -, C_k 组成: 相邻单 ...
- C++算法学习(力扣:201. 数字范围按位与)
给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点). 示例 1: 输入: [5,7] 输出: 4 ...
- C++算法学习(力扣:134. 加油站)
在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升.你从其中的一个加 ...
- C++算法学习(力扣:402. 移掉K位数字)
给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. 注意: num 的长度小于 10002 且 ≥ k. num 不会包含任何前导零. 示例 1 : 输入: nu ...
- C++算法学习(力扣:859. 亲密字符串)
给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true :否则返回 false . 交换字母的定义是取两个下标 i 和 j (下标 ...
- C++算法学习(力扣:1122. 数组的相对排序)
给你两个数组,arr1 和 arr2, arr2 中的元素各不相同 arr2 中的每个元素都出现在 arr1 中 对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序 ...
- C++算法学习(力扣:1003. 检查替换后的词是否有效)
给定有效字符串 "abc". 对于任何有效的字符串 V,我们可以将 V 分成两个部分 X 和 Y,使得 X + Y(X 与 Y 连接)等于 V.(X 或 Y 可以为空.)那么,X ...
最新文章
- windows模糊查询指定进程是否存在
- C# Socket实现聊天通信
- 求首尾相接的数组的最大子数组和
- 一种JPG/PNG在线转EPS/PDF的方法
- Pb(96) The serializable class Model does not declare a static final serialVersionUID field of typ...
- Git学习笔记总结和注意事项
- Python 模拟微博登陆,亲测有效!
- 程序员如何打破 30 岁职业瓶颈?
- 详解python运行三种方式_详解python运行三种方式
- 广义相对论场方程的发现是必然的
- matlab 坐标轴根号,Matlab中根号表示怎么操作?根号表示教程分享
- winForm中 Invalidate(),Update(),Reflash(),
- Redis集群管理工具redis-trib
- 利用OD去软件弹窗广告教程-[WinRAR_3.9]为例
- 使用Arcgis制作的专题地图
- CITA Release v0.18
- 8.2 JVM命令行监控——jstat
- win10右键一直卡死解决记录
- mp4类文件的AAC编码完美修复方法
- RMQ与SparseTable(ST表)