191. Number of 1 Bits

Total Accepted: 74078
Total Submissions: 196833
Difficulty: Easy

Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight).

For example, the 32-bit integer ’11’ has binary representation 00000000000000000000000000001011, so the function should return 3.

java中需要注意符号位,因为符号位也算1,所以就要用>>>无符号右移

Java:

1
2
3
4
5
6
7
8
9
10
11
public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
        int ans=0;
        while(n!=0){
            ans+=(n&1);
            n>>>=1;
        }
        return ans;
    }
}

打个小广告

欢迎加入我的小专栏「基你太美」一起学习。