位运算,与操作,之前遇到过,要牢记
n&(n-1) 把1慢慢消去,直到最后n为0了,消了几次就是有几个1
class Solution {
public:
int hammingWeight(uint32_t n) {
int res = 0;
while(n!=0){
res += 1;
n &= n-1;
}
return res;
}
};
位运算,与操作,之前遇到过,要牢记
n&(n-1) 把1慢慢消去,直到最后n为0了,消了几次就是有几个1
class Solution {
public:
int hammingWeight(uint32_t n) {
int res = 0;
while(n!=0){
res += 1;
n &= n-1;
}
return res;
}
};