Question:
Write a function that takes an unsigned integer and returns the number of '1' bits it has (also known as the Hamming weight).
Example:
Input: n = 00000000000000000000000000001011 Output: 3 Explanation: The input binary string 00000000000000000000000000001011 has a total of three '1' bits.
Input: n = 00000000000000000000000010000000 Output: 1 Explanation: The input binary string 00000000000000000000000010000000 has a total of one '1' bit.
Input: n = 11111111111111111111111111111101 Output: 31 Explanation: The input binary string 11111111111111111111111111111101 has a total of thirty one '1' bits.
Constraints:
- The input must be a binary string of length
32
.
题意:
写一函式计算输入的非负整数以二进位表示有几个1
难度:
Easy
解题思路:
步骤1:有1出现,次数(ans)就加1
class Solution(object):
def hammingWeight(self, n):
"""
:type n: int
:rtype: int
"""
ans = 0
while n > 0:
if (1 & n):
ans += 1
n >>= 1 #向右移一位
return ans