判断一棵树是否是平衡二叉树
2016-11-23 11:47
357 查看
package 判断一棵树是否是平衡二叉树; class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } public class Solution { public boolean IsBalanced_Solution(TreeNode root) { if (root == null) { return true; } boolean[] res = new boolean[1]; res[0] = true; depth(root, 1, res); return res[0]; } private int depth(TreeNode root, int acc, boolean res[]) { int leftHeight, rightHeight; if (root.left != null) { leftHeight = depth(root.left, acc + 1, res); } else { leftHeight = acc; } if (root.right != null) { rightHeight = depth(root.right, acc + 1, res); } else { rightHeight = acc; } if(Math.abs(leftHeight-rightHeight)>1){ res[0] = false; } return Math.max(leftHeight, rightHeight); } public static void main(String[] args) { TreeNode root = new TreeNode(1); TreeNode left1 = new TreeNode(1); TreeNode left2 = new TreeNode(1); root.left = left1; left1.left = left2; System.out.println(new Solution().IsBalanced_Solution(root)); } }
相关文章推荐
- 判断一棵树是否为平衡二叉树
- leetcode 110-判断一棵树是否为平衡二叉树
- 【数据结构】中判断一棵树是否为平衡二叉树
- Balanced Binary Tree:判断一棵树是否为平衡二叉树
- 面试题——判断一棵树是否是平衡二叉树
- 判断一棵树是否是平衡二叉树
- 如何判断一棵树是否是平衡二叉树
- 判断一棵树是否是平衡二叉树及其时间复杂度的优化
- 判断一棵树是否为平衡二叉树
- AVL树详解&面试题-判断一棵树是否是平衡二叉树
- 测试:判断一棵树是否是平衡二叉树
- Chapter 4 | Trees and Graphs--检查一棵树是否平衡以及判断一棵树是否为平衡二叉树
- 剑指Offer系列-面试题39-2:判断一棵树是否为平衡二叉树
- 剑指off-判断一棵树是否是平衡二叉树
- 判断一棵树是否是平衡二叉树
- 判断一棵树是否为平衡二叉树的算法
- 判断一棵树是否为平衡二叉树
- 判断一棵树是否是完全二叉树
- 算法编程题-判断一颗树中是否有与另一棵树拓扑结构完全相同的子树
- LeetCode试题之判断是否是平衡二叉树