3 的幂

题目描述(来源于LeetCode)

给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。

整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x

初期思路

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution:
def isPowerOfThree(self, n: int) -> bool:
i =31
pid =0
while i:
if n ==1:
pid =1
break
n/=3
i-=1
if pid:
return True
else:
return False

复杂度分析

  • 时间复杂度:O(log3(n))O(log_3(n))
  • 空间复杂度:O(1)O(1)