Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 614 Bytes

File metadata and controls

33 lines (22 loc) · 614 Bytes

1342. Number of Steps to Reduce a Number to Zero

Leetcode link

解题思路

题目要求我们计算将一个数减少到 0 的步骤,减少的规则为:如果二进制末位为 0 就除 2;如果为 1 就减 1。

C++

class Solution {
public:
    int numberOfSteps(int num) {
        int res = 0;
        while(num !=0) {
            if(num & 1 == 1) {
                num -= 1;
            } else {
                num >>= 1;
            }
            res++;
        }
        return res;
    }
};