您当前的位置: 首页 >  liyatjj leetcode

LeetCode将数字变成 0 的操作次数

liyatjj 发布时间:2022-06-01 17:40:06 ,浏览量:3

将数字变成 0 的操作次数

给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。

示例 1:

输入:num = 14 输出:6 解释: 步骤 1) 14 是偶数,除以 2 得到 7 。 步骤 2) 7 是奇数,减 1 得到 6 。 步骤 3) 6 是偶数,除以 2 得到 3 。 步骤 4) 3 是奇数,减 1 得到 2 。 步骤 5) 2 是偶数,除以 2 得到 1 。 步骤 6) 1 是奇数,减 1 得到 0 。

来源:LeetCode

思路很简单,就是按照解释里面的步骤来一个if-else判断即可。

class Solution {
    public int numberOfSteps(int num) {
        int sum=0;
        while(num!=0){
            if(num%2==0)
            {
                num/=2;
                sum++;
            }
            else{
                num--;
                sum++;
            }
        }
        return sum;
    }
}
关注
打赏
1688896170
查看更多评论

liyatjj

暂无认证

  • 3浏览

    0关注

    99博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0499s