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