您的位置:首页 > 其它

leetcode 231. Power of Two

2016-01-26 22:49 218 查看
原题:

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

题意:

给你一个数,问你这个数是不是2的n次方。

[code]class Solution {
public:
    bool isPowerOfTwo(int n)
    {
        if(n==1)
            return true;
        if(n%2)
        return false;
        while(n)
        {
            n=n/2;
            if(n==1)
                return true;
            if(n%2)
                return false;

        }
    }
};


解答:

我的想法很粗暴,就是不断的除以2判断除以2以后是否还是一个偶数,除到最后是1.那么答案就正确。

我看到了一个别人的解法,觉得很好~真是简单

[code]bool isPowerOfTwo(int n) {
    return (n > 0) && (!(2147483648%n)); //2147483648 = 2^31
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: