# leetcode解題:(Easy) 342. Power of Four 題目:https://leetcode.com/problems/power-of-four/description/ 描述:判斷輸入的數字是否為4的次方數 解題思路:標準解法是使用對數基底變換方法,不過這題也可以看作判斷是否為2的次方數的延伸題,4的次方數跟2的次方數一樣用二進位制表示只會有1個位元為`1`,不過這次這些`1`只會出現在奇數位上,額外再用一個mask來判斷`1`是否出現在奇數位即可 程式碼: ```JAVA= class Solution { public boolean isPowerOfFour(int n) { //0x55555555 -> 01010101010101010101010101010101 return (n & (n-1)) == 0 && (n & 0x55555555) != 0; } } ``` 時間複雜度:O(1) 空間複雜度:O(1) ###### tags: `leetcode` `easy` `bitwise operate`