LeetCode刷题笔记第231题:2 的幂
题目:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/78077a325d6245c2b35e6a9d741d929f.png)
想法:
对输入的数值循环除以2直至数值小于等于1,如果最终的数值为1则为2的幂,小于1则不是2的幂。
class Solution:
def isPowerOfTwo(self, n: int) -> bool:
if n == 1:
return True
while n > 1:
n = n / 2
if n == 1:
return True
return False
时间复杂度:
O
(
l
o
g
n
)
O(logn)
O(logn)。
空间复杂度:
O
(
1
)
O(1)
O(1)。