Skip to content
This repository has been archived by the owner on Aug 14, 2024. It is now read-only.

Latest commit

 

History

History
31 lines (24 loc) · 796 Bytes

110.md

File metadata and controls

31 lines (24 loc) · 796 Bytes

110. Balanced Binary Tree

Description

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.

Code

class Solution {
    public boolean isBalanced(TreeNode root) {
        if(root == null){
            return true;
        }
        int leftDepth = depth(root.left);
        int rightDepth = depth(root.right);
        return Math.abs(leftDepth - rightDepth) <= 1 && isBalanced(root.left) && isBalanced(root.right);
    }
    
    int depth(TreeNode node){
        if(node == null){
            return 0;
        }else{
            return Math.max(depth(node.left), depth(node.right)) + 1;
        }
    }
}