Balanced Binary Tree --判断平衡二叉树(重重)
来源:互联网 发布:淘宝买黄金可靠吗 编辑:程序博客网 时间:2024/05/18 05:59
问题:链接
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.
解答:可以根据定义 采用递归的方式解答,但是递归次数太多容易超时,问题的关键在于如果快速的得到树的深度,而不是每次都遍历,这里采用的一个方法是同过isbalancde函数每次同时返回一个树的深度。
参考:http://zhedahht.blog.163.com/blog/static/25411174201142733927831/
代码:
*/class Solution {public: bool isBalanced(TreeNode *root) {int deep = 0;return isBalanced(root, &deep); } bool isBalanced(TreeNode *root, int *deep) {if(root == NULL){*deep = 0;return true;}int left, right;if(isBalanced(root->left, &left) && isBalanced(root->right, &right)){int diff = left - right;if(diff <= 1 && diff >= -1){*deep = 1 + (left > right? left:right);return true;}}return false; }};
0 0
- Balanced Binary Tree --判断平衡二叉树(重重)
- LeetCode:Balanced Binary Tree(平衡二叉树的判断)
- 110. Balanced Binary Tree (平衡二叉树判断)
- Balanced Binary Tree(平衡二叉树)
- Balanced Binary Tree 判断是否平衡二叉树 @LeetCode
- Balanced Binary Tree 平衡二叉树的判断
- Balanced Binary Tree 判断是否为平衡二叉树
- 110. Balanced Binary Tree | 判断是否是平衡二叉树
- Balanced Binary Tree:判断一棵树是否为平衡二叉树
- LeetCode OJ 之 Balanced Binary Tree (平衡二叉树的判断)
- leetcode 110. Balanced Binary Tree(平衡二叉树的判断) DFS深度优先遍历
- Balanced Binary Tree 二叉平衡树
- 【LeetCode】Balanced Binary Tree,平衡二叉树
- [LeetCode] Balanced Binary Tree 平衡二叉树
- Leetcode Balanced Binary Tree 平衡二叉树
- 平衡二叉树---Balanced Binary Tree
- lintcode balanced-binary-tree 平衡二叉树
- AVL树(平衡二叉树(Balanced Binary Tree))
- js实现div闪烁-------Day46
- chrome快捷键
- HDU 2222 Keywords Search (AC自动机模板题)
- LeetCode: Jump Game II
- Visual Studio开发工具升级注意事项
- Balanced Binary Tree --判断平衡二叉树(重重)
- 浅析with check option 约束
- liunx 命令
- 互联网上常用协议的端口
- 【转载】Android View中的开关学习即位运算
- C/S模型下的请求-回复模式的应用要点
- 基于base - cell的NSTableView,学习苹果的demo AnimateTableView所写
- opencv-图像金字塔
- STL系列之全排列