0015求十进制数转化成二进制数后1的个数(程序员面试宝典上例题)
关键表达式
n=n&(n-1)
当n不为零时继续以上计算,加入一个计数器count,伪代码如下:
class Solution {
public:
int NumberOf1(int n) {
int count=0;
while(n)
{
count++;
n=n&(n-1);
}
return count;
}
};

浙公网安备 33010602011771号