231. Power of Two
Given an integer, write a function to determine
if it is a power of two.
判断是不是2的次方数。2的次方数的二进制有个特点,就是只是1位是1,其他都是0。而这个数-1的二进制那就是 这一位是0,后面的所有位都是1.
所以可以这两个数按为与。
class Solution {
public:
bool isPowerOfTwo(int n)
{
return n > 0 && ((n & (n - 1)) == 0);
}
};
本文介绍了一种简单的方法来判断一个整数是否为2的幂次方数。通过观察2的幂次方数在二进制表示下的特性,即仅有一位为1其余均为0,我们可以通过该数与其减1后的数进行按位与运算来实现判断。
529

被折叠的 条评论
为什么被折叠?



