leetcode number of 1 bits python

Number of 1 Bits

 

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.

 

python代码:

class Solution:
# @param n, an integer
# @return an integer
  def hammingWeight(self, n):
    count=0
    if n==0:        #输入为0时,输出为0
      return count
    count+=1
    while n&n-1:      #利用位运算,获得1的个数
      n=n&n-1
      count=count+1
    return count

posted @ 2015-06-06 18:30  轻抚离殇  阅读(395)  评论(0编辑  收藏  举报