2015.4.17 05:48
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:
Old problem.
Accepted code:
1 // 1AC, water 2 class Solution { 3 public: 4 int hammingWeight(uint32_t n) { 5 int ans = 0; 6 7 while (n) { 8 n = n & (n - 1); 9 ++ans; 10 } 11 12 return ans; 13 } 14 };