Given an integer, write a function to determine if it is a power of two.
class Solution {
public:
bool isPowerOfTwo(int n) {
return (n>0)&&!(n&(n-1));
}
};
首先需要n大于0,然后n和n-1进行与处理,如果n是2的指数,那么n&(n-1)返回的是0,也就是false,这时需要在前面加个非。
Given an integer, write a function to determine if it is a power of two.
class Solution {
public:
bool isPowerOfTwo(int n) {
return (n>0)&&!(n&(n-1));
}
};
首先需要n大于0,然后n和n-1进行与处理,如果n是2的指数,那么n&(n-1)返回的是0,也就是false,这时需要在前面加个非。