110. Balanced Binary Tree
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.
Subscribe to see which companies asked this question
Hide Similar Problems
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ public class Solution { public boolean isBalanced(TreeNode root) { if (depth(root) == -1) return false; return true; } private int depth(TreeNode root) { if (root == null) return 0; int left = depth(root.left); int right = depth(root.right); // If any subtree fails, all parent nodes should fail. No need to calculate depth. if (left == -1 || right == -1 || Math.abs(left-right) > 1) return -1; return Math.max(left,right)+1; } }

浙公网安备 33010602011771号