给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例 1:
输入: 1 输出: true 解释: 20 = 1
采用降底法:
class Solution:
def isPowerOfTwo(self, n):
if n<=0:return False
nums = [1,2,4,8] # 候选底
i = 3 #先从最大的底开始
while n>8:
while n%nums[i] != 0: # 逐步降底
i -= 1
if i==0:
return False
n //= nums[i]
return n in nums