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