今天的题目两种解法,一种是暴力运算,每一次统计一位。
但是值得记录的是第二种,n&=n-1的做法,这个算式每一次会将最低位的1置0,直到n等于为止
C++代码:
class Solution {
public:
int hammingWeight(uint32_t n) {
int count = 0;
while(n){
n &= (n-1);
count++;
}
return count;
}
};
记得将count初始化为0;
LC里面声明变量是任意给值的。