題目:
給定一個整數,寫一個函數來判斷它是否是 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;
}
}