Number of Steps to Reduce a Number to Zero | Java | Iterative and Recursive | 100 Faster

Iterative

class Solution {
    public int numberOfSteps(int num) {
        int steps = 0;
        while (num != 0) {
            if ((num&1) == 1) {
                num--;
            } else {
                num /= 2;
            }
            steps++;
        }
        return steps;
    }
}

Recursive

class Solution {
    public int numberOfSteps(int num) {
        if (num == 0) {
            return 0;
        } else {
            return 1 + ((num&1) == 1 ? numberOfSteps(num-1) : numberOfSteps(num / 2)); 
        }
    }
}
Comments (0)