【题目】
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
【示例 1】
输入: 1
输出: true
解释: 20 = 1
【示例 2】
输入: 16
输出: true
解释: 24 = 16
【示例 3】
输入: 218
输出: false
【代码】
【Python】

class Solution:
def isPowerOfTwo(self, n: int) -> bool:
return n&(n-1)==0 and n!=0
【方法2】

class Solution:
def isPowerOfTwo(self, n: int) -> bool:
dic=dict(Counter(bin(n)[2:]))
return dic.setdefault('1',0)==1 and n>=0
【方法3:数字法】

class Solution:
def isPowerOfTwo(self, n: int) -> bool:
if n<=0:
return False
while n>1:
if n%2:
return False
n//=2
return True
本文介绍如何使用Python实现判断一个整数是否是2的幂次方的三种方法,包括位操作、字典计数和数字迭代法,并提供示例代码和解释。适合理解不同技巧在解决此类问题中的应用。

被折叠的 条评论
为什么被折叠?



