思路1,除2取余数,是1 的话就加1,但是效率不够。
public int hammingWeight(int n) { int result=0; while(n!=0){ if(n%2==1){
result++;} } return result; }
思路1.n&(n-1),去掉左右边1,也能减少很多循环次数
public int hammingWeight(int n) {
int result=0;
while(n!=0){
n=n&(n-1);
result++;
}
return result;
}