AcWing打卡活动
《剑指Offer》打卡活动
周二第三题 二进制中1的个数
/**
* 思路
* 10010 - 1 = 10001
* 10010 & 10001 = 10000 -> 少了一个1
* 11100 - 1 = 11011
* 11100 & 11011 = 11000 -> 同样少了一个1
* 按照这个思路不停的&, 直到n = 0为止
*/
class Solution {
public int NumberOf1(int n){
int count = 0;
while(n != 0) {
++ count;
n = (n - 1) & n;
}
return count;
}
}