148-191. 位1的个数

编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(第一个我弄得,但是二进制更好)
class Solution(object):
    def hammingWeight1(self, n):
        """
        :type n: int
        :rtype: int
        """

        return bin(n).count("1")

    def hammingWeight(self, n):
        """
        :type n: int
        :rtype: int
        """
        count = 0
        while n:
            n = n & (n -1)
            count += 1
        return count


if __name__ == '__main__':
    s1 = Solution()
    n = 11
    print(s1.hammingWeight(n))
原文地址:https://www.cnblogs.com/liuzhanghao/p/14297863.html