难度:Easy
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: false
直接位运算,二的整数次幂,必然只有一个位上是1,其他位为零。
class Solution {public:bool isPowerOfTwo(int n) {if(n==0) return false;while((n&1) ==0){n>>=1;}// cout<<n<<endl;return n==1;}};
执行用时 :8 ms, 在所有 C++ 提交中击败了60.55%的用户 内存消耗 :8.1 MB, 在所有 C++ 提交中击败了27.77%的用户