leetcode(1342)将数字变成 0 的操作次数

leetcode(1342)将数字变成 0 的操作次数_第1张图片
方法一:
暴力求解:

class Solution {
public:
    int numberOfSteps (int num) {
        int cnt=0;
        while(num!=0){
            if(num%2==0){
                num/=2;
            }else {
                num-=1;
            }
            cnt++;
        }
        return cnt;
    }
};
class Solution {
    public int numberOfSteps (int num) {
        int cnt = 0;
        while(num != 0){
            if(num%2 == 0){
            num >>= 1;
            }else{
                num--;
            }
            cnt++;
        }
        return cnt;
    }
}
var numberOfSteps  = function(num) {
    return num > 1 ? 1 + (num % 2) + numberOfSteps( num>>1 ) : num;
};

你可能感兴趣的:(LeetCode)