[LeetCode] 342. 4的幂

Posted ACBingo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode] 342. 4的幂相关的知识,希望对你有一定的参考价值。

4^x 其实可以等效于 22x,所以我们仍然是通过位运算求这个2y是多少,然后判断这个y是不是2的倍数就可以了。

class Solution {
    public boolean isPowerOfFour(int n) {
        if (n == 1) return true;
        int cnt = 0;
        int k = 0;

        while (n > 0) {
            if ((n & 1) == 1) {
                k++;
            }
            cnt++;
            n >>= 1;
        }

        return (k == 1) && (cnt % 2 == 1);
    }
}

以上是关于[LeetCode] 342. 4的幂的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode] 342. 4的幂 ☆(是否4 的幂)

leetcode刷题笔记342 4的幂

LeetCode342. 4的幂 / 第243场周赛

[LeetCode] 342. 4的幂

leetcode342合理运用位操作判断4的幂

LeetCode 342. 4的幂