[LeetCode 191] Number of 1 Bits

[LeetCode 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).

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

solution:

  1. every time n&1, until n==0.

  2. n&(n-1) will remove last 1 digit in n, use this to count how many 1
    in the number

 

 

public int hammingWeight(int n) {
        int count = 0;
        while(n!=0){
            n = (n-1) & n;
            count++;
        }
        return count;
    }

 

 

 

 

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). For example, the
32-bit…

相关文章