力扣练习第四十三天——2的幂
题目大致如下:
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例一:
输入: 1
输出: true
解释: 2^0= 1
示例二:
输入: 16
输出: true
解释: 2^4 = 16
示例三:
输入: 218
输出: false
链接来源于LeetCode:https://leetcode-cn.com/problems/power-of-two/
大致思路:
采取与运算,n(2的幂)与n-1刚好错开,所以,进行与运算时,将会得到0.
代码如下:
class Solution {
public:
bool isPowerOfTwo(int n) {
if(n<=0) return false;
return (n&(n-1))==0;
}
};
结果: