For example, the 32-bit integer ’11' has binary representation
00000000000000000000000000001011
, so the function should return 3.Credits:
Special thanks to @ts for adding this problem and creating all test cases.
---
Solution: Extract each bit at position i using "bit = n & (1 << i)".
public class Solution {
// you need to treat n as an unsigned value
public int hammingWeight(int n) {
int count = 0;
for (int i = 0; i < 32; i++) {
if ((n & (1 << i)) != 0) {
count++;
}
}
return count;
}
}
No comments:
Post a Comment