LeetCode 191. Number of 1 Bits

来源:互联网 发布:靠谱代购淘宝店 知乎 编辑:程序博客网 时间:2024/06/10 20:56

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.

Credits:
Special thanks to @ts for adding this problem and creating all test cases.

计算二进制表示中1的个数

比特位移,判断最后一位是否为1。

class Solution(object):    def hammingWeight(self, n):        """        :type n: int        :rtype: int        """        cnt = 0        while n > 0:            cnt += (n & 1)            n >>= 1        return cnt

使用python自带的bin(),有点tricky

class Solution(object):    def hammingWeight(self, n):        """        :type n: int        :rtype: int        """        return bin(n).count('1')
原创粉丝点击