39.平衡二叉树
来源:互联网 发布:淘宝卖家一个月不发货 编辑:程序博客网 时间:2024/04/30 17:19
题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
思路:用一个全局变量记录遍历到的节点的当前深度。使用后序遍历的方式,当遍历到当前节点时,我们已经遍历了它的左右子数,所以只需要在遍历每个节点的时候记录下他们的深度,我们就可以根据节点左右字数的深度差来判断树是否平衡。
public class Solution { public boolean IsBalanced_Solution(TreeNode root) { int depth = 0; return isBalance(root, 0); } public boolean isBalance(TreeNode root, int depth) { if (root == null) return true; int left = 0;//先给深度赋初值,然后在后续遍历递归的时候会更新深度值 int right = 0; if (isBalance(root.left, left) && isBalance(root.right, right)){ int diff = left - right; if (diff <= 1 || diff >= -1){ depth = left > right ? left + 1 : right + 1;//记录深度 return true; } } return false; }}
0 0
- 39.平衡二叉树
- 平衡二叉树平衡法则
- 剑指offer-39.平衡二叉树
- 二叉树--二叉平衡树
- 平衡二叉树的
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉查找树
- 平衡二叉树 详解
- 平衡二叉树
- 平衡二叉树
- AVL 平衡二叉树
- 平衡二叉树
- 平衡二叉树-红黑树
- 平衡二叉树
- 平衡二叉树
- 引入css的几种方法
- 创建eclipse新的workspace并设置workspace共享配置
- java自学日记 day 08
- 我的科研生活2017-3-13
- js-getAttribute与setAttribute的用法
- 39.平衡二叉树
- Android基础之Service
- 关于spfa 判断负环
- 1012. 数字分类 (20)
- Mac下安装VirtualBox5.1并在VirtualBox中安装CentOS 7.3
- Levenshtein distance最小编辑距离算法实现
- 在maven本地仓库中添加oracle的jdbc驱动。
- 归并排序最直观的示意图
- javaScript类型转换