231. Power of Two

2018-04-05  本文已影响4人  衣介书生

解题思路

题目链接,登录 LeetCode 后可用
题目要求是判断一个数是不是 2 的次方数,第一个思路就是跟判断一个数是不是 3 的次方数一样,不停的除 2。这里给出的是另一个思路的解法,只要判断一个数对应的 2 进制数的首位是否为 1,而其它所有位是否为 0 即可。

代码

class Solution {
    public boolean isPowerOfTwo(int n) {
        // if(n == 0) {
        //     return false;
        // }
        // 1000 & 0111 = 0000
        return n > 0 && ((n & (n - 1)) == 0);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读