算法笔记: 力扣#326 3的幂

问题描述


解法


分析

Python 实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class (object):
def isPowerOfThree(self, n):
"""
:type n: int
:rtype: bool
"""
if n == 0:
return False
if n == 1:
return True
while n % 3 == 0:
if n == 3:
return True
n /= 3
return False

Java 实现

1
2
3
4
5
6
7
8
9
10
11
class {
public boolean isPowerOfThree(int n) {
if(n == 0){ return false; }
if(n == 1){ return true; }
while(n % 3 == 0){
if(n == 3){ return true; }
n /= 3;
}
return false;
}
}

时间复杂度

O(log3N).

空间复杂度

O(1).

链接


326. Power of Three
326. 3的幂
(English version) Algorithm Notes: Leetcode#326 Power of Three