n&n-1即可消除最后的一个1
看执行多少次把n变成0
即可知道原本n包含多少个1
class Solution:
def hammingWeight(self, n: int) -> int:
res = 0
while n > 0:
n = n & (n-1)
res += 1
return res
class Solution:
def hammingWeight(self, n: int) -> int:
print(n)
if n == 0:
return 0
else:
suma = 0
while n:
if n & 1 == 1:
suma += 1
n = n >> 1
return suma