原题:
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例 1 :
输入: 1
输出: true
解释: 20 = 1
1
2
3
示例 2 :
输入: 16
输出: true
解释: 24 = 16
1
2
3
示例 3 :
输入: 218
输出: false
分析:
如果一个数是二的幂次方,则其二进制只有一位是1,那么有,其正负数按位与 与原数相同
代码:
class Solution(object):
def isPowerOfTwo(self, n):
"""
:type n: int
:rtype: bool
"""
return n > 0 and (n & -n) == n