Power of Three

easy math recursion

Problem

Given an integer n, return true if it is a power of three (n = 3^x for some non-negative integer x).

Inputn = 27
Outputtrue
27 = 3³.

def is_power_of_three(n):
    if n < 1: return False
    while n % 3 == 0:
        n //= 3
    return n == 1
function isPowerOfThree(n) {
  if (n < 1) return false;
  while (n % 3 === 0) n /= 3;
  return n === 1;
}
class Solution {
    public boolean isPowerOfThree(int n) {
        if (n < 1) return false;
        while (n % 3 == 0) n /= 3;
        return n == 1;
    }
}
bool isPowerOfThree(int n) {
    if (n < 1) return false;
    while (n % 3 == 0) n /= 3;
    return n == 1;
}
Time: O(log₃ n) Space: O(1)