平衡二叉树
来源:互联网 发布:淘宝 主板 编辑:程序博客网 时间:2024/05/16 06:23
题目描述
输入一棵树的根结点,判断该树是不是平衡二叉树。如果某二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。
解题思路
可以结合二叉树的深度的题目来看,简单的做法可以用递归实现,但是时间复杂度会比较高,因为会重复计算。
java代码实现
class TreeNode{ int val = 0; TreeNode left = null; TreeNode right = null; TreeNode(int val) { this.val = val;}}public class Solution { public boolean IsBalanced_Solution(TreeNode root) { if(root == null) return true; int nLeft = TreeDepth(root.left); int nRight = TreeDepth(root.right); int diff = nLeft - nRight; if(diff > 1 || diff < -1) return false; return true; } //计算树的深度 public int TreeDepth(TreeNode root) { if(root == null) return 0; int left = TreeDepth(root.left); int right = TreeDepth(root.right); return (left > right)? left + 1 : right + 1; }}
0 0
- 平衡二叉树平衡法则
- 二叉树--二叉平衡树
- 平衡二叉树的
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉查找树
- 平衡二叉树 详解
- 平衡二叉树
- 平衡二叉树
- AVL 平衡二叉树
- 平衡二叉树
- 平衡二叉树-红黑树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- module_platform_driver(), module_i2c_driver
- codeforces 615B
- (*(void (*) ()) 0) ();
- android系统架构
- composer安装yii2,及报错
- 平衡二叉树
- 修改系统字体文件
- usb启动盘提示vesamenu.c32 not a COM32R image
- mysql group by 组内排序
- windows系统信息获取 注册表
- java实现截取6个汉字字母数字
- PullToRefreshScrollView踩坑经历以及源码分析
- 数组的sort方法排序按照对象的属性排序
- TP登录(学习进行中)