2的幂运算

2的幂

描述 :

给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。

如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。

题目 :

LeetCode 231.2的幂 :

231. 2 的幂

分析 :

本题的解决思路还是比较简单的,我们可以用除的方法来逐步缩小n的值,另外一个就是使用位运算。 位运算之前都写过 , 这里就不多解释了 .

解析 :

class Solution {public boolean isPowerOfTwo(int n) {if(n <= 0){return false;}while(n % 2 == 0){n /= 2;}return n == 1;}
}

 解析 :

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

这期就到这里 , 下期见!