您的位置:首页 > 其它

【leetcode】 Power of Two

2015-12-03 17:23 405 查看
描述:

Given an integer, write a function to determine if it is a power of two.

分析:

判断一个数是否是2的幂,判断方法主要依据2的N次幂的特点:仅有首位为1,其余各位都为0.

解决方案1:

(n&(n-1))==0

class Solution {
public:
bool isPowerOfTwo(int n) {
return (n > 0 && (n&(n-1))==0);
}
};

解决方案2:

所有位中只有1个1

class Solution {
public:
bool isPowerOfTwo(int n) {
int count = 0;
while (n > 0)
{
count+=(n&0x01);
n>>=1;
}
return count==1;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: