class Solution {
public:
bool isPowerOfTwo(int n) {
if(n <= 0) return false;
while(n % 2 == 0) {
n /= 2;
}
return n == 1;
}
};
class Solution {
public:
bool isPowerOfTwo(int n) {
if(n <= 0) return false;
//return n & (n - 1) == 0; &&与&优先级相同,自右向左结合
return (n & (n - 1)) == 0; //去除n最右边的1,如果是2的幂,二进制表示只有一个1
}
};
class Solution {
public:
//lowbit:取n最右边的1和该1右边所有的0
bool isPowerOfTwo(int n) {
if(n <= 0) return false;
//return n & (-n) == n; ==与&优先级相同,结合性自右向左
return (n & (-n)) == n;
}
};
LeetCode231. 2的幂
最新推荐文章于 2024-04-16 17:18:15 发布