LeetCode 231: Power of Two
题目描述
给定一个整数,编写一个函数以确定它是否为2的幂。
解题思路
2的整数次幂的二进制表示只有一个 1 存在且为正数,所以就是判断给定的整数是否为正数并且二进制表示只有一个1。通过判断n & (n - 1)操作后的数是否为0即可。
AC代码
class Solution {
public:
bool isPowerOfTwo(int n) {
return n > 0 && (n&(n - 1)) == 0;
}
};