leetcode刷题, 总结,记录,备忘 110
2015-07-13 22:19
211 查看
leetcode110
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 of every node never differ by more than 1.
使用递归,计算每个子树的深度,以及2个子树分别是否为平衡树,这3个条件作为判断条件,还是比较容易理解的。
Balanced Binary Tree
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 of every node never differ by more than 1.
使用递归,计算每个子树的深度,以及2个子树分别是否为平衡树,这3个条件作为判断条件,还是比较容易理解的。
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: bool Balanced(TreeNode * root, int & depth) { if (root == NULL) { depth = 0; return true; } int ldepth, rdepth; bool left = Balanced(root->left, ldepth); bool right = Balanced(root->right, rdepth); depth = max(ldepth, rdepth) + 1; return left && right && abs(ldepth - rdepth) <= 1; } bool isBalanced(TreeNode* root) { int depth; return Balanced(root, depth); } };
相关文章推荐
- iOS 各种传值方式
- 高效排除网络故障 从用好Ping命令开始
- No enclosing instance of type Hello is accessible
- Android简化xml sax解析
- IOS开发-08.自定义按钮
- java连接MYSQL
- ITOO级联删除主从表
- 面向接口编程
- UI_UItableView_AutoCell(自定义cell)
- 操作系统的段机制与页机制
- 每天一个小知识点1(less整理)
- 性能优化系列总篇
- IOS开发-07.自定义HUD(提示框)
- IO流(4)io包其他功能流对象
- 【UVA】【10328】
- BZOJ 1087: [SCOI2005]互不侵犯King( 状压dp )
- 黑马程序员-学习日记(反射)
- 【C++】深度探索C++对象模型读书笔记--关于对象(Object Lessons)
- 程序语言理解
- SpringMVC 4.1.6 @RestController实例入门