326. Power of Three

Description

Given an integer n, return true if it is a power of three. Otherwise, return false.

An integer n is a power of three, if there exists an integer x such that n == 3x.

Constraints

  • -231 <= n <= 231 - 1

Approach

Examples

Input: n = 27

Output: true

Solutions

/**
 * Time complexity : O(log3(N)). The number of divisions is given by 
 *    that logarithm.
 * Space complexity : O(1). We are not using any additional memory.
 */

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

Follow up

Last updated

Was this helpful?