publicclassSolution{// you need to treat n as an unsigned value
publicinthammingWeight(int n){int sum = 0;while(n != 0){if((n & 1)== 1) sum++;
n >>>= 1;}return sum;}}
Complexity
time: O(log2N)
space: O(1)
Solution 2 - Trick
publicclassSolution{// you need to treat n as an unsigned value
publicinthammingWeight(int n){int sum = 0;while(n != 0){
sum++;
n &=(n - 1);}return sum;}}