來刷 LeetCode 吧! 04. 1342. Number of Steps to Reduce a Number to Zero
LeetCode
題目分析
給一個整數 num,計算它減少到 0 的步驟數。
如果 num 為偶數,將 num / 2。
如果 num 為奇數,將 num - 1。
第一直覺
宣告一個 count 紀錄步驟數。
使用 while 迴圈進行判斷、計算。
var numberOfSteps = function (num) { let count = 0; while (num > 0) { if (num % 2 === 0) { num = num / 2; } else { num = num - 1; } count ++; } return count; };
較簡潔的寫法
while 迴圈內部改為三元運算式。
var numberOfSteps = function (num) { let count = 0; while (num > 0) { num = num % 2 === 0 ? num / 2 : num - 1; count ++; } return count; };