leetcode-python-3的幂

1)递归/循环,时间复杂度较高,重复计算

class Solution:
    def isPowerOfThree(self, n: int) -> bool:
        #递归
        if n == 0:
            return False
        if n == 1:
            return True
        if (n / 3 )== 1 :
            return True
        if n % 3 != 0:
            return False
        n = n//3
        return self.isPowerOfThree(n)

2)

  • 你能不使用循环或者递归来完成本题吗?
  • import math
    class Solution:
        def isPowerOfThree(self, n: int) -> bool:
           
            if n == 0 or n < 0:
                return False
            return (math.log10(n) / math.log10(3)) % 1 == 0

     

 

posted @ 2021-06-10 14:34  泊鸽  阅读(70)  评论(0)    收藏  举报