CODE 23: Balanced Binary Tree

来源:互联网 发布:fp growth算法 编辑:程序博客网 时间:2024/06/01 20:27

Given a binary tree, determine if it is height-balanced.

For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees ofevery node never differ by more than 1.

public boolean isBalanced(TreeNode root) {// Start typing your Java solution below// DO NOT write main() functionif (null == root) {return true;}return checkBalanced(root) != -1;}public int checkBalanced(TreeNode root) {if (null == root) {return 0;}int left = checkBalanced(root.left);int right = checkBalanced(root.right);if (left == -1 || right == -1) {return -1;}if (Math.abs(left - right) > 1) {return -1;} else {return Math.max(left, right) + 1;}}