C++算法零基础100题-位右移运算符

51 阅读1分钟

题目链接: 剑指 Offer 15. 二进制中1的个数 - 力扣(LeetCode)

题目描述

image.png

解题思路

  1. 首先我们得到一个整数
  2. 我们比较整数的每一位,看它与1相与是不是等于1
  3. 如果等于1的话 count++
  4. 最后返回count
class Solution {
public:
    int hammingWeight(uint32_t n) {
        int sum=0;
        while(n){
            if(n&1){
                sum++;
            }
            n>>=1;
        }
        return sum;
    }
};