Balanced Binary Tree
来源:互联网 发布:东北大学软件学院好吗 编辑:程序博客网 时间:2024/06/06 01:46
题目
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.
方法
分别计算左右子树的高度,看看是否满足平衡的要求。如果不满足:返回false;如果满足:接着递归判断左右子树是否满足。上述重复计算的次数比较多,但是通过了。PS:可以使用全局变量,进行后序遍历。int depth(TreeNode node) {if (node == null) {return 0;}int left = depth(node.left);int right = depth(node.right);return left > right ? left + 1: right + 1;} public boolean isBalanced(TreeNode root) { if (root == null) { return true; } int left = depth(root.left); int right = depth(root.right); int dif = Math.abs(right - left); if (dif > 1) { return false; } else { return isBalanced(root.left) && isBalanced(root.right); } }
0 0
- 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
- 记录几个后门工具
- .NET CLR是什么
- MD5算法(Java)
- POJ 1325 Machine Schedule(匈牙利—最小点覆盖)
- Android 用户界面---操作栏(Action Bar 一)
- Balanced Binary Tree
- Android 用户界面---操作栏(Action Bar 二)
- GDI+学习笔记(七)保存简单图像
- Android 用户界面---操作栏(Action Bar 三)
- UML类图关系(继承、实现、依赖、关联、聚合、组合)
- Android 用户界面---操作栏(Action Bar 四)
- WebBrowser控件跨域访问页面内容
- Android 用户界面---操作栏(Action Bar 五)
- FPGA大数据之我认为的明天