Power of Two
Given an integer, write a function to determine if it is a power of two.
Credits:
Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.
分析:
简单题,判断一个数是否是2的倍数。我先统计出给定数的二进制中1的个数,如果个数大于1,则为False。
相关学习链接:快速求二进制中1的个数,位运算。
代码:
class Solution(object):
def isPowerOfTwo(self, n):
"""
:type n: int
:rtype: bool
"""
if n <= 0:
return False
count = 0
while n:
n &= n - 1
count += 1
if count == 1:
return True
else:
return False