平衡二叉树
来源:互联网 发布:电影制作软件 编辑:程序博客网 时间:2024/06/06 01:49
题目
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
思路
递归判断左子树有和又子树的高度,绝对值不超过1.
参考代码
class Solution {public: bool IsBalanced_Solution(TreeNode* pRoot) { if (!pRoot) return true; return IsBalanced_Solution(pRoot->left) && IsBalanced_Solution(pRoot->right) && (abs(getHeight(pRoot->left) - getHeight(pRoot->right)) <= 1 ); }private: int getHeight(TreeNode* root) { if (!root) return 0; int left = getHeight(root->left); int right = getHeight(root->right); return left > right ? (left + 1) : (right + 1); }};
后话
关于平衡二叉树是不是BST,这个好像一直都是有争议的,这里我采用的是在牛客网刷题的标准,在这个里面是不考虑BST,只考虑高度平衡。如果想考虑BST的话,就多加一个判断左子树的最大值和右子树的最小值吧。
阅读全文
0 0
- 平衡二叉树平衡法则
- 二叉树--二叉平衡树
- 平衡二叉树的
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉查找树
- 平衡二叉树 详解
- 平衡二叉树
- 平衡二叉树
- AVL 平衡二叉树
- 平衡二叉树
- 平衡二叉树-红黑树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 2017ccpc网络选拔赛 1005 CaoHaha's staff
- Hdu 6153 A Secret【KMP】
- 来自CSDN的互联网相关知识图谱汇总(含知识结构图)
- Servlet组件学习总结
- Java注释详解-Java文档注释生成Java API文档
- 平衡二叉树
- 9.3 概率分布
- 【ZZULIOJ】 1792 有点Low的时光机
- Jmeter之性能测试工具知识点汇总
- Dubbo源码介绍
- Mysql报错注入原理分析(count()、rand()、group by)
- Android异步任务机制之AsycTask
- Thread+Handler异步执行耗时操作更新UI线程界面
- Java1.8新特性 Lambda/Stream/函数式编程