LeetCode——第326題:3的冪

題目:

給定一個整數,寫一個函數來判斷它是否是 3 的冪次方。

示例 1:

輸入: 27
輸出: true

示例 2:

輸入: 0
輸出: false

示例 3:

輸入: 9
輸出: true

示例 4:

輸入: 45
輸出: false
進階:
你能不使用循環或者遞歸來完成本題嗎?

代碼:

//遞歸
public boolean isPowerOfThree(int n) {
                if(n==1)
                        return true;
                if(n%3!=0||n==0)
                        return false;
                return isPowerOfThree(n/3);
        }
//循環
class Solution {
    public boolean isPowerOfThree(int n) {
        if (n < 1)
            return false;
        while (n % 3 == 0){ 
            n /= 3;
        }
        return n == 1;
    }
}
發佈了75 篇原創文章 · 獲贊 13 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章