191. 位1的个数_剑指offer_面试题15. 二进制中1的个数

问题

编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数

例子
在这里插入图片描述

思路

  • 方法1 O(logn)

  • 方法2

代码

//方法1
public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
        int count=0;
        
        while(n!=0){
            count+=n&1;
            //无符号右移:不管正负,高位补0
            n=n>>>1;
        }

        return count;
        
    }
}
//方法2
发布了151 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/puspos/article/details/104827848
今日推荐