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

Follow up:
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. 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. public boolean isPowerOfThree(int n) {
    if(n==0) return false;
    while(n!=1){
    if(n%3 !=0) return false;
    n = n/3;
    }
    return true;
    }

Leave a Reply

Your email address will not be published.