Leetcode 326.3的冪 By Python
阿新 • • 發佈:2018-09-23
lee 完成 輸出 solution bject 判斷 是不是 pytho 循環
給定一個整數,寫一個函數來判斷它是否是 3 的冪次方。
示例 1:
輸入: 27
輸出: true
示例 2:
輸入: 0
輸出: false
示例 3:
輸入: 9
輸出: true
示例 4:
輸入: 45
輸出: false
進階:
你能不使用循環或者遞歸來完成本題嗎?
思路
循環/3看最後是不是等於1就好了
代碼
class Solution(object): def isPowerOfThree(self, n): """ :type n: int :rtype: bool """ while n > 1 and n % 3 == 0: n /= 3 return n==1
進階
題目最後說不使用循環和遞歸,那就使用log函數,見註釋
class Solution(object): def isPowerOfThree(self, n): """ :type n: int :rtype: bool """ if n <= 0: return False else: s = str(math.log(n,3)) if s[-2] == '.': #如果是3的冪那麽一定是x.0格式的,也就是轉換為字符串之後s[-2]一定為. return True else: return False
Leetcode 326.3的冪 By Python