Shortest recursive solution


  • 4
    A
    public boolean isBalanced(TreeNode root) {
        if(root==null) return true;
        int l=depth(root.left);
        int r=depth(root.right);
        return ((int)Math.abs(l-r)<2)&&isBalanced(root.left) && isBalanced(root.right);
    }
    static int depth(TreeNode n){
            if(n==null) return 0;
            return Math.max(depth(n.left),depth(n.right))+1;
       }

  • 0
    D

    I think one recursive is better


Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.