给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。
代码如下:
class Solution {
public int numberOfSteps(int num) {
int step=0;//定义需要步数初始化为0
while(num != 0){//当num不为0时进入循环,直到num=0,跳出while循环
if(num%2 == 0){//如果num可以整除2,证明是偶数,进入该if语句
num=num/2;//num除2
step++;//步数++
}else{//如果num不可以整除2,证明是奇数,进入该if语句
num=num-1;//num值减1
step++;//步数++
}
}
return step;//当num为0时返回步数值
}
}
运行效果:
(此题是力扣题库)