191. Number of 1 Bits

191. Number of 1 Bits

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

Example 1:

Input: 11
Output: 3
Explanation: Integer 11 has binary representation 00000000000000000000000000001011 

Example 2:

Input: 128
Output: 1
Explanation: Integer 128 has binary representation 00000000000000000000000010000000

My Solutions:

一直>>>1这个数字直到变成0(因为是unsigned value,所以用>>>)

public class Solution {
    // you need to treat n as an unsigned value
    
    public int hammingWeight(int n) {
        int res = 0; 
        while (n != 0) {
            res += n & 1; // 得到1的个数
            n = n >>> 1; // 往右移动
        }
        return res;
    }
}

Last updated