题目链接:https://leetcode.com/problems/power-of-two/
Given an integer, write a function to determine if it is a power of two.
思路:2的幂有一个特性, 就是只有一位为1, 因此我们可以利用这个性质使其与其-1的数进行与操作, 如果结果不为0, 说明不是2的幂.
代码如下:
class Solution {
public:
bool isPowerOfTwo(int n) {
if(n < 1) return false;
return !(n&(n-1));
}
};