(LeetCode 每日一题) 231. 2 的幂 (位运算)
题目:231. 2 的幂
思路:位运算,时间复杂度0(1)。
2的幂数,在二进制形式下,只会有一个1。如果n是2的幂,那么(n&(n-1))==0
C++版本:
class Solution {
public:bool isPowerOfTwo(int n) {return n>0 && (n&(n-1))==0;}
};
JAVA版本:
class Solution {public boolean isPowerOfTwo(int n) {return n>0 && (n&(n-1))==0;}
}
GO版本:
func isPowerOfTwo(n int) bool {return n>0 && (n&(n-1))==0
}