15. 二进制中1的个数

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;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章