# LeetCode 326. Power of Three

## Description

https://leetcode.com/problems/power-of-three/

Given an integer, write a function to determine if it is a power of three.

Example 1:

```Input: 27
Output: true
```

Example 2:

```Input: 0
Output: false```

Example 3:

```Input: 9
Output: true```

Example 4:

```Input: 45
Output: false```

Could you do it without using any loop / recursion?

## Explanation

keep dividing by three to see if the number is a power of three

## Python Solution

``````class Solution:
def isPowerOfThree(self, n: int) -> bool:
while n > 1:
if n % 3 != 0:
return False

n = n // 3

return n == 1``````
• Time complexity: O(N).
• Space complexity: O(1).

## 3 Thoughts to “LeetCode 326. Power of Three”

1. ANonymous says:

public boolean isPowerOfThree2(int n) {

if(n == 0)
return false;

while (n % 3 == 0){
n = n / 3;
}

if (n == 1)
return true;
else
return false;
}

2. Vickey says:

public boolean isPowerOfThree(int n) {
if(n==0) return false;
while(n!=1){
if(n%3 !=0) return false;
n = n/3;
}
return true;
}