无意间看到,力扣存算法代码居然还得升级vip。。。好吧,我自己存吧
golang:
func numberOfSteps(num int) int {
steps := 0
for num > 0 {
if num%2 == 0 {
num /= 2
} else {
num -= 1
}
steps++
}
return steps
}
javascript:
/**
* @param {number} num
* @return {number}
*/
var numberOfSteps = function(num) {
let step = 0;
while(num > 0){
if (num % 2 === 0) {
num /= 2
} else {
num -= 1
}
step++
}
return step
};
python:
class Solution(object):
def numberOfSteps(self, num):
"""
:type num: int
:rtype: int
"""
step = 0
while num > 0:
if num % 2 == 0:
num //= 2
else:
num -= 1
step += 1
return step