题解 | #二进制中1的个数#
二进制中1的个数
http://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8
思路:分大于0小于0两种情况判断
1、> 0, 统计1的个数 2、< 0, 转成正数,统计0的个数,32-0的个数
class Solution:
def NumberOf1(self , n: int) -> int:
# write code here
if n == 0:
return 0
result = 0
if n > 0:
while n:
if n % 2 == 1:
result += 1
n = n // 2
return result
else:
n = -n
while n:
if n % 2 == 0:
result += 1
n = n // 2
return 32 - result