当前位置: 代码迷 >> 综合 >> 【Java - L - 1342】e - 将数字变成 0 的操作次数
  详细解决方案

【Java - L - 1342】e - 将数字变成 0 的操作次数

热度:21   发布时间:2023-12-26 07:59:19.0

问题描述

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

实现

2、 实现

    class Solution {
    public int numberOfSteps(int num) {
    if (num == 0) return 0;int count = 0;while (num > 0) {
    if ((num & 1) == 0) {
    num /= 2;} else {
    num -= 1;}count++;}return count;}}

1、位运算

int numberOfSteps (int num){
    int count = 0;while(num){
    if(num % 2)num ^= 1; //异或elsenum >>= 1;count++;}return count;
}
// https://leetcode-cn.com/problems/number-of-steps-to-reduce-a-number-to-zero/solution/wei-yun-suan-qiu-jie-by-shguan/
  相关解决方案