LeetCode(191)Number of 1 Bits

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fly_yr/article/details/52356925

题目

Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight).

For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011, so the function should return 3.

分析

求整数对应二进制串中1的个数。

代码

class Solution {
public:
    int hammingWeight(uint32_t n) {
        int ret = 0;  
        while(n != 0)  
        {  
            ++ret;  
            n &= (n-1); //抹掉最右边的1  
        }//while  
        return ret;  
    }
};


猜你喜欢

转载自blog.csdn.net/fly_yr/article/details/52356925