LeetCode----Power of Two
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.
分析:
簡単な問題で、1つの数が2の倍数かどうかを判断します.私はまず所与の数のバイナリの中の1の個数を統計して、もし個数が1より大きいならば、Falseです.
関連学習リンク:バイナリの1の個数、ビット演算を迅速に求めます.
コード:
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.
分析:
簡単な問題で、1つの数が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