326. 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

Follow up:
Could you do it without using any loop / recursion?

Solution

(1) Java

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

(2) Python

class Solution:
    def isPowerOfThree(self, n):
        """
        :type n: int
        :rtype: bool
        """
        if n <= 0:
            return False
        rst = math.log10(n)/math.log10(3) 
        print(rst)
        return rst == int(rst)

(3) Scala



results matching ""

    No results matching ""