常规思路,循环次数 == 数字长度
public class Solution {
public int NumberOf1(int n) {
int flag = 1;
int count = 0;
while(flag != 0){
if((n & flag) != 0){
count++;
}
flag = flag << 1;
}
return count;
}
}
非常规思路,循环次数 == 1的数量
public class Solution {
public int NumberOf1(int n) {
int count = 0;
while(n != 0){
count++;
n = (n-1) & n;
}
return count;
}
}