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 of every node never differ by more than 1.
Solution
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */publicclassSolution {publicbooleanisBalanced(TreeNode root) {int height =height(root);if (height ==-1) returnfalse;returntrue; }publicintheight(TreeNode node) {if (node ==null) return0;int left =height(node.left);int right =height(node.right);if (left ==-1|| right ==-1)return-1;if (Math.abs(left - right) >1) {return-1; }returnMath.max(left, right) +1; }}