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;
}
}
这期就到这里 , 下期见!