本题虽然我并没有用最优解解出,但我并不认为这是一道好的题目,recursion或for loop我觉得足矣,follow up过于tricky,本题有好几个解法,我准备这次用:

    • 326. Power of Three - 图1得到factor
    • 再用这个factor反向计算,看跟原来的n是不是一样的
      1. class Solution {
      2. public boolean isPowerOfThree(int n) {
      3. return n > 0 && n == Math.pow(3, Math.round(Math.log(n) / Math.log(3)));
      4. }
      5. }