326. Power of Three

Problem:
Given an integer, write a function to determine if it is a power of three.
Analysis:
判断一个数是否是3的次方。用数学公式那是不现实的。。。
如果一个数是3的次方,一直除以3最后结果是1. 不是3的次方,但是是3的倍数比如6,6/3=2. 2/3=0. 最后结果是0.
Solution:

class Solution {
    public boolean isPowerOfThree(int n) {
        if (n <= 0) return false;
        while (n%3 == 0) {
            n /= 3;
        }
        return n == 1;
    }
}

评论

此博客中的热门博文

776. Split BST

663. Equal Tree Partition

532. K-diff Pairs in an Array