题解:
要判断一个整数n是否是2的幂次方,我们可以使用位运算。如果n是2的幂次方,那么它的二进制表示中只有一个1,其余位都是0。而n-1的二进制表示中,从最低位到第一个1的位置,所有位都是1,其余位都是0。因此,如果n是2的幂次方,那么n和n-1进行与运算的结果应该是0。我们可以通过这个条件来判断n是否是2的幂次方。
class Solution:
def isPowerOfTwo(self, n: int) -> bool:
return n > 0 and (n & (n - 1)) == 0