LeetCode——231.2的幂
作者:互联网
class Solution:
def isPowerOfTwo(self, n: int) -> bool:
# num = 0
# for i in range(100):
# num = 2**i
# if num==n:
# return True
# if num>n:
# return False
# if n == 0:
# return False
# while n % 2 == 0:
# n /= 2
# return n == 1
if n == 0:
return False
return n & (n - 1) == 0
- 如果是2的幂次的话,那么二进制的表示中就仅仅含有1个1
- 如果不是2的幂次的话,那么二进制的表示中就会有多个1
- 因此让n和n-1做与运算,如果得到的结果是0的话,那就说明这个数字的2的幂
标签:False,幂次,二进制,的话,231.2,num,return,LeetCode 来源: https://blog.csdn.net/weixin_37724529/article/details/113455045