您的位置:首页 > 其它

[leetcode] 231. Power of Two

2016-03-20 21:25 417 查看
Given an integer, write a function to determine if it is a power of two.

这道题是判断数字是否是2的乘方,题目难度为Easy。

int范围内2的乘方只有31个,逐个判断即可,具体代码:
class Solution {
public:
bool isPowerOfTwo(int n) {
for(int i=0; i<31; ++i) {
if(n == 1<<i) return true;
}
return false;
}
};


另外,假定N为2的乘方,则N&(N-1)为0,也可以依此判断数字是否是N的乘方,具体代码:
class Solution {
public:
bool isPowerOfTwo(int n) {
if(n <= 0) return false;
return !(n&(n-1));
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息