牛客题霸 [平衡二叉树] C++题解/答案

题目描述

输入一棵二叉树,判断该二叉树是否是平衡二叉树。

在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树

题解:

今天上数据结构刚考了平衡二叉树
平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质的二叉排序树:它的左子树和右子树的深度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。
所以我们要计算出深度
深度就不断递归左右子树取最大即可
深度:max(deep(root->left),deep(root->right))+1

代码:

class Solution {public:int deep(TreeNode*root){if(!root)return 0;return max(deep(root->left),deep(root->right))+1;}bool IsBalanced_Solution(TreeNode* pRoot) {if(!pRoot)return 1;if(IsBalanced_Solution(pRoot->left)&&IsBalanced_Solution(pRoot->right)&&abs(deep(pRoot->left)-deep(pRoot->right))<=1)return 1;else return 0;}
};

牛客题霸 [平衡二叉树] C++题解/答案相关推荐

  1. 牛客题霸 [最大数] C++题解/答案

    牛客题霸 [最大数] C++题解/答案 题目描述 给定一个数组由一些非负整数组成,现需要将他们进行排列并拼接,使得最后的结果最大,返回值需要是string类型 否则可能会溢出 题解: 将字符串存入ve ...

  2. 牛客题霸 [ 排序] C++题解/答案

    题目描述 给定一个数组,请你编写一个函数,返回该数组排序后的形式. 题意: 排序的方式有很多 二分呀,桶排呀归并等等 stl里的sort快速排序方便好用 题解: class Solution {pub ...

  3. 牛客题霸题目及题解汇总

    牛客题霸 单链表的选择排序 C++题解/答案 牛客题霸 最少素数拆分 C++题解/答案 牛客题霸 两数之和 C++题解/答案 牛客题霸 反转链表 C++题解/答案 牛客题霸 二分查找 C++题解/答案 ...

  4. 牛客题霸 [矩阵元素查找] C++题解/答案

    牛客题霸 [矩阵元素查找] C++题解/答案 题目描述 已知int一个有序矩阵mat,同时给定矩阵的大小n和m以及需要查找的元素x,且矩阵的行和列都是从小到大有序的.设计查找算法返回所查找元素的二元数 ...

  5. 牛客题霸 [子数组最大乘积] C++题解/答案

    牛客题霸 [子数组最大乘积] C++题解/答案 题目描述 给定一个double类型的数组arr,其中的元素可正可负可0,返回子数组累乘的最大乘积. 题解: 同时记录最大值和最小值,为什么?因为给的元素 ...

  6. 牛客题霸 [拼接所有的字符串产生字典序最小的字符串] C++题解/答案

    牛客题霸 [拼接所有的字符串产生字典序最小的字符串] C++题解/答案 题目描述 给定一个字符串的数组strs,请找到一种拼接顺序,使得所有的字符串拼接起来组成的字符串是所有可能性中字典序最小的,并返 ...

  7. 牛客题霸 [栈和排序] C++题解/答案

    牛客题霸 [栈和排序] C++题解/答案 题目描述 给你一个1->n的排列和一个栈,入栈顺序给定 你要在不打乱入栈顺序的情况下,对数组进行从大到小排序 当无法完全排序时,请输出字典序最大的出栈序 ...

  8. 牛客题霸 [在转动过的有序数组中寻找目标值] C++题解/答案

    牛客题霸 [在转动过的有序数组中寻找目标值] C++题解/答案 题目描述 给出一个转动过的有序数组,你事先不知道该数组转动了多少 (例如,0 1 2 4 5 6 7可能变为4 5 6 7 0 1 2) ...

  9. 牛客题霸 [滑动窗口的最大值] C++题解/答案

    牛客题霸 [滑动窗口的最大值] C++题解/答案 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一 ...

最新文章

  1. 转:AbstractQueuedSynchronizer的介绍和原理分析
  2. 一文总结词向量的计算、评估与优化
  3. 帮助一个大兄弟修复完善了一下他的代码
  4. python培训班时间 费用-深圳python培训班大概多少费用
  5. CCPC 2018桂林站游记
  6. Apache ZooKeeper - 使用ZK实现分布式锁(非公平锁/公平锁/共享锁 )
  7. P2396-yyylovesMathsVII【状压dp】
  8. python快捷方式图标_python – PyInstaller无法更改快捷方式图标
  9. tomcat 正常关闭_Tomcat的带有守护程序和关闭钩子的正常关闭
  10. 互联网架构,究竟为什么需要配置中心?
  11. ros 发布信息频率_ROS 消息发布器和订阅器Publisher, Subscriber
  12. 打开一个页面,并监听该页面的关闭事件
  13. eclipse(mac)启动配置-设置jdk路径
  14. 展讯平台实现维吾尔语的几种方法
  15. PostgreSQL查询优化器详解之逻辑优化篇
  16. 2017全国计算机二级office题库,2017年计算机二级office题库(附答案)
  17. 十套精美个人博客网站模板
  18. 【模电】0013 反馈放大电路基础
  19. 重难点详解-关系代数表达式
  20. 从内容打到社交,头腾大战矛头又指向了游戏

热门文章

  1. 人体的血管连起来竟能绕地球两圈!?| 今日最佳
  2. 当代家长现状。。 | 今日最佳
  3. 代码传奇 | 明明可以靠颜值 却用代码把人类送上了月球的女人——Margaret Hamilton
  4. oracle虚拟用户是什么意思,lr脚本中oracle 2tier虚拟用户相关内容
  5. 计算机管理无法连接虚拟磁盘服务,虚拟磁盘服务错误怎么操作【图文教程】
  6. linux端口 fcs校验,我如何接收错误的以太网帧并禁用CRC / FCS计算?
  7. java连接mysql数据库连接池_java使用原生MySQL实现数据的增删改查以及数据库连接池技术...
  8. java成员变量垃圾回收_JAVA 对象被垃圾回收后其成员变量可用吗? | 学步园
  9. 几何画板自定义工具_几何画板最强版 v5.06 中文版(含教程/实例/控件/打包机/工具集)...
  10. python编写正则表达式匹配单词_Python正则表达式匹配整个单词