经典求十进制转二进制
class Solution {
public int hammingWeight(int n) {
int ans = 0;
while(n != 0) {
ans += (n%2);
n /= 2;
}
return ans;
}
}
看了题解,发现还有更快的,换成位运算,每次右移与1进行与运算。
public int hammingWeight(int n) {
int ans = 0;
while(n != 0) {
ans += (n & 1);
n = n >> 1;
}
return ans;
}