1.常规解法:不断左移1
class Solution {
public:
int NumberOf1(int n) {
unsigned int flag=1;
int count=0;
while(flag){
if(n & flag) count++;
flag=flag<<1;
}
return count;
}
};2.一个技巧
class Solution {
public:
int NumberOf1(int n) {
int count=0;
while(n){
n=(n-1) & n;
count++;
}
return count;
}
};

京公网安备 11010502036488号