1342. 将数字变成 0 的操作次数
1342. 将数字变成 0 的操作次数


--解题代码--
一、
public int numberOfSteps1(int num) { //记录最终结果 int count = 0; while (num != 0) { //1.奇数:-1,次数+1 //判断数字是否为0 if (num % 2 != 0) { num--; count++; if (num == 0) break; } // 2. 除2,次数+1 num /= 2; count++; } return count; }
二、迭代法
public int numberOfSteps (int num){ //出口 if(num == 0) return 0; if(num == 1) return 1;
//奇数,偶数 情况不同 if(num%2 == 0) return 1+numberOfSteps(num/2); else return 1+numberOfSteps(num-1); }

浙公网安备 33010602011771号