Number of Steps to Reduce a Number to Zero

问一个数几步可以变成0, 如果是偶数,可以除以2, 如果是奇数, 可以 -1

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