平衡二叉树Java实现
2017-10-04 09:48
141 查看
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
思路:判断一下这棵二叉树的左右子树的高度差是否小于1;再判断一下左右子树是否也为平衡二叉树。
思路:判断一下这棵二叉树的左右子树的高度差是否小于1;再判断一下左右子树是否也为平衡二叉树。
public class Solution { public boolean IsBalanced_Solution(TreeNode root) { if (root == null) return true; if (Math.abs(getHeight(root.left) - getHeight(root.right)) > 1) return false; return IsBalanced_Solution(root.left) && IsBalanced_Solution(root.right); } public int getHeight(TreeNode root) { if (root == null) return 0; return max(getHeight(root.left), getHeight(root.right)) + 1; } private int max(int a, int b) { return (a > b) ? a : b; } }
相关文章推荐
- 平衡二叉树平衡二叉树(AVL)--查找、删除、插入(Java实现)
- 平衡二叉树的java实现
- 树——平衡二叉树插入和查找的JAVA实现
- 树——平衡二叉树插入和查找的JAVA实现(2):增加删除方法
- java 平衡二叉树的实现
- 【LeetCode-面试算法经典-Java实现】【108-Convert Sorted Array to Binary Search Tree(排序数组转变为平衡二叉树)】
- java实现平衡二叉树(详细分析)
- 平衡二叉树的实现 java
- 平衡二叉树(AVL树)算法 Java实现
- 平衡二叉树的Java实现——插入操作【无泛型】
- 平衡二叉树(Java实现)
- Java实现-验证平衡二叉树
- java数据结构与算法之平衡二叉树(AVL树)的设计与实现
- java实现AVL树(一种自平衡二叉树)数据结构
- 平衡二叉树Java实现
- 平衡二叉树 JAVA实现 亲测可用
- 平衡二叉树的java实现
- java数据结构与算法之平衡二叉树(AVL树)的设计与实现
- 平衡二叉树(AVL)--查找、删除、插入(Java实现)
- Java实现平衡二叉树(AVLTree)的构建