平衡二叉树
来源:互联网 发布:淘宝商城女装新款春装 编辑:程序博客网 时间:2024/06/16 16:30
设计一个算法判断一棵树是否为平衡
平衡二叉树:一棵树左右子树高度差不超过1,则为平衡二叉树
- 遍历左、右子树,head为空时为遍历出口,并返回0
- i和j代表返回的值
- 如果i和j的差大于1,则返回-1,若i或j中一个小于1,则返回-1
- 若正常,这返回i和j中较大那个,并加1,代表此层已经遍历完
public class CheckBalance { public boolean check(TreeNode root) { // write code here return m(root)>=0; } public int m(TreeNode head){ if(head==null)//判断是否为空节点,是的话返回0,即遍历出口 return 0; int l= m(head.left);//遍历左子树 int r= m(head.right);//遍历右子树 if(l<0||r<0)//如果存在不含平衡二叉树的子树,则返回-1 return -1; if(Math.abs(r-l)>1)//如果一个子树两边的深度大于1,则不是平衡二叉树,返回-1 return -1; return Math.max(l,r)+1;//返回左右子树中深度较大的那个,并加1 }}
0 0
- 平衡二叉树平衡法则
- 二叉树--二叉平衡树
- 平衡二叉树的
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉查找树
- 平衡二叉树 详解
- 平衡二叉树
- 平衡二叉树
- AVL 平衡二叉树
- 平衡二叉树
- 平衡二叉树-红黑树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 【设计模式】Command模式
- TILT:Transform Invariant Low-Rank Textures
- 提高代码质量-工具篇
- 持久化技术
- HDU 5723 Abandoned country(最小生成树 + 树形DP)
- 平衡二叉树
- 一笔画问题(欧拉通路)
- [LeetCode] 30. Substring with Concatenation of All Words
- LeetCode题解-98-Validate Binary Search Tree
- C和C++的关系
- Java烧脑驴游(八)--循环结构
- HDU 1506 Largest Rectangle in a Histogram(最大连续矩阵面积)
- PHP文件数据传输用jQuery-ajax进行浏览器->服务器->数据文件->服务器->浏览器的数据传输($_POST,$_GET,json_encode(数组数据回应),json数据解析)
- poj 2528 - Mayor's posters(线段树+离散化)