0
点赞
收藏
分享

微信扫一扫

Leecode 1342.将数字变为0的操作次数

老牛走世界 2022-01-31 阅读 63

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

 

//函数名:执行
//函数功能:递归
//函数参数:原始数字(num),次数(cnt)
//返回值:返回执行次数
int action(int num,int cnt)
{
    if(num!=0)
    {
        if(!(num&1))
        {
            num=num/2;
            cnt++;
        }
        else
        {
            num=num-1;
            cnt++;
        }
        cnt=action(num,cnt);
    }
    return cnt; 
}
int numberOfSteps(int num){
    int cnt=0;
    cnt=action(num,cnt);
    return cnt;
}
举报

相关推荐

0 条评论