Balanced Binary Tree
来源:互联网 发布:淘宝uv价值多少才算好 编辑:程序博客网 时间:2024/05/29 04:48
Given a binary tree, determine if it is height-balanced.
For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees ofevery node never differ by more than 1.
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: bool isBalanced(TreeNode *root) { // Start typing your C/C++ solution below // DO NOT write int main() function int h = 0; return InternalIsBalanced(root, h); } private: bool InternalIsBalanced(TreeNode *root, int& height) { if (root == NULL) { height = 0; return true; } if (root->left == NULL && root->right == NULL) { height = 1; return true; } else if (root->left == NULL) { int rc = 0; bool r_balance = InternalIsBalanced(root->right, rc); height = rc + 1; return rc < 2 && r_balance; } else if (root->right == NULL) { int lc = 0; bool l_balance = InternalIsBalanced(root->left, lc); height = lc + 1; return lc < 2 && l_balance; } else { int lc = 0; int rc = 0; bool r_balance = InternalIsBalanced(root->right, rc); bool l_balance = InternalIsBalanced(root->left, lc); height = rc > lc ? rc + 1 : lc + 1; int short_height = rc > lc ? rc - lc : lc -rc; return r_balance && l_balance && short_height < 2; } } };
- Balanced binary tree 扩展
- LeetCode: Balanced Binary Tree
- [LeetCode]Balanced Binary Tree
- LeetCode Balanced Binary Tree
- [Leetcode] Balanced Binary Tree
- LeetCode : Balanced Binary Tree
- LeetCode Balanced Binary Tree
- [LeetCode] Balanced Binary Tree
- Balanced Binary Tree
- Balanced Binary Tree
- 【leetcode】Balanced Binary Tree
- Balanced Binary Tree
- [LeetCode]Balanced Binary Tree
- Balanced Binary Tree
- Balanced Binary Tree
- [LeetCode] Balanced Binary Tree
- [Leetcode]Balanced Binary Tree
- [leetcode]Balanced Binary Tree
- eclipse安装tomcat插件
- MVC3.0 中Razor 学习
- Java 语言 集合架构(Set规则集)
- Shell Test命令参数解析
- 从零单排16
- Balanced Binary Tree
- 那些iOS和Android跨平台解决方案
- Android Activity切换(跳转)时出现黑屏的解决办法
- 订单日志一览
- Executing root.sh errors with "Failed To Upgrade Oracle Cluster Registry Configuration" [ID 466673.1
- OpenCV ThreshHold
- oracle 把字符串转换成数组
- 微信公众帐号消息帐号
- java获取系统时间