给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
输入: 1 输出: true 解释: 20 = 1
可以用位运算,2的幂次n必定只有一个1,和n-1进行与运算后必然为0。
class Solution { public: /* bool isPowerOfTwo(int n) { if(n <= 0) return false; int mod = n; int div = n; while(div>=2){ mod = div%2; div = div/2; if(mod){ return false; } } return true; }*/ bool isPowerOfTwo(int n){ if(n<=0) return false; return !(n&(n-1)); } };