LeetCode 第 191 題 (Number of 1 Bits)

liyuanbhu發表於2016-04-18

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.

這道題也非常簡單, 用個迴圈語句把 32 位都測一遍就行了。

class Solution {
public:
    int hammingWeight(uint32_t n) {
        int count = 0;
        uint32_t test_bit = 1;
        for(int i = 0; i < 32; i++)
        {
            if(test_bit & n) count ++;
            test_bit = test_bit << 1;
        }
        return count;
    }
};

相關文章