Power of Two/Power of Three/Power of Four
要点:Two和Four是类似思路,Four扩展到只在偶数位。Three是另一个思路,而这种思路只适用于3为prime:找到小于INT_MAX的最大的33….*3(3^19),n如果是3^m,那么可以整除这个最大值。而Four不能用这个思路因为2^m也可以整除
错误点:- 要判断其他位为0,要对非0位取反,所以是0xAAAAAAAA
- 注意1是4的pow
- java中==比&优先级高
class Solution(object): def isPowerOfTwo(self, n): """ :type n: int :rtype: bool """ if n==0: return False return n&(n-1)==0