leetcode 231. Power of Two

来源:互联网 发布:校名关键词优化方法 编辑:程序博客网 时间:2024/05/09 11:27

原题:
Given an integer, write a function to determine if it is a power of two.
题意:
给你一个数,问你这个数是不是2的n次方。

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.那么答案就正确。
我看到了一个别人的解法,觉得很好~真是简单

bool isPowerOfTwo(int n) {    return (n > 0) && (!(2147483648%n)); //2147483648 = 2^31}
0 0
原创粉丝点击