无意间看到,力扣存算法代码居然还得升级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