Easy
487136FavoriteShare
Given an integer, write a function to determine if it is a power of two.
Example 1:
Input: 1
Output: true
Explanation: 20 = 1
Example 2:
Input: 16
Output: true
Explanation: 24 = 16
Example 3:
Input: 218
Output: false
C++:
/*
* @Author: SourDumplings
* @Date: 2019-08-25 22:52:07
* @Link: https://github.com/SourDumplings/
* @Email: changzheng300@foxmail.com
* @Description: https://leetcode.com/problems/power-of-two/
*
* 所有的2的幂的二进制形式都是一个1后面全是0
* 它和它减1的数做位与运算一定得0
*/
class Solution
{
public:
bool isPowerOfTwo(int n)
{
if (n <= 0)
{
return false;
}
return (n & (n - 1)) == 0;
}
};
Java:
/*
* @Author: SourDumplings
* @Date: 2019-08-25 23:01:59
* @Link: https://github.com/SourDumplings/
* @Email: changzheng300@foxmail.com
* @Description: https://leetcode.com/problems/power-of-two/
*/
class Solution
{
public boolean isPowerOfTwo(int n)
{
if (n <= 0)
{
return false;
}
return (n & (n - 1)) == 0;
}
}