2020-06-22
1.题目描述
在这里插入代码片难度简单31收藏分享切换为英文关注反馈请实现一个函数,输入一个整数,输出该数
二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函
数输出 2。
2.题解
1.计算其二进制表示,然后再进行计数
2.使用位运算n&(n-1)能够去除n末尾的一个1
3.代码
class Solution {
public:
int hammingWeight(uint32_t n) {
int cnt=0;
while(n){
n=n&(n-1);
cnt++;
}
return cnt;
}
};