算法:342、4的幂(2的幂)
一、“4的幂”题目描述:
看到这种问题,第一想法就是位操作;
方法如下:
上述代码中:n&(n - 1)能确保n的二进制数中只有一个1,且位置在正确的位置上;而n&0x55555555可以过滤掉2和8;
二、“2的幂”题目描述:
代码如下:
class Solution { public: bool isPowerOfTwo(int n) { if(n <= 0) return false; return((n & (n - 1)) == 0); } };
三、“3的幂”题目描述: