JZ11 二进制中1的个数
- 题目描述
- 思路分析
- 代码实现
题目描述
点这里
思路分析
位运算
lowbit函数返回最后一位1对应的数。
故每次把最后一个1减去,看能减多少次,减法次数即为1的个数。
代码实现
class Solution {
public:
int NumberOf1(int n) {
int res=0;
while(n) n-=lowbit(n),res++;
return res;
}
int lowbit(int x){return x&-x;}
};