Kotlin Leetcode - 1342. Number of Steps to Reduce a Number to Zero
class Solution {
fun numberOfSteps(num: Int): Int {
}
}
解題思路
這一題考的是數字的簡單運算
我們用一個 while
迴圈
就可以算出答案
四則運算的部分由於很單純
所以也可以使用位元運算進行
Kotlin 參考解答
點擊展開解答
class Solution {
fun numberOfSteps(num: Int): Int {
var privateNum = num
var numOfStepsToZero = 0
while (privateNum != 0) {
when {
privateNum % 2 == 0 -> privateNum /= 2
else -> privateNum -= 1
}
numOfStepsToZero++
}
return numOfStepsToZero
}
}
將上述的四則運算改成位元運算的方式
class Solution {
fun numberOfSteps(num: Int): Int {
var privateNum = num
var numOfStepsToZero = 0
while (privateNum != 0) {
when {
privateNum and 1 == 0 -> privateNum = privateNum shr 1
else -> privateNum--
}
numOfStepsToZero++
}
return numOfStepsToZero
}
}
回到 leetcode 列表