Number of 1 Bits

Write a function that takes an unsigned integer and returns the number of 1 bits it has.

Example:

The 32-bit integer 11 has binary representation

00000000000000000000000000001011

so the function should return 3.


Solution:

Time: O(n)
Space: O(1)

public class Solution {
    public int numSetBits(long a) {
        int count = 0;
        for (int i = 0; i < 32; i ++) {
            int checkBit = 1 << i;
            if ((a & checkBit) >= 1) {
                count ++;
            }
        }
        return count;
    }
}