Shortest recursive solution

  • 4
    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

    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.