231. 2的幂
代码实现:
func isPowerOfTwo(n int) bool {
if n <= 0 {
return false
}
return (n & (n - 1)) == 0
}
解题思路:2的幂,转换成2进制的话。n一定是1开头后面位数为0,n-1则首位为0其余位为0,所以判断n>0且n & (n - 1)= 0即可。(n & n-1可以把n最低位的1变0,而当n & n-1 = 0时,则说明n只有首位是1)
231. 2的幂
代码实现:
func isPowerOfTwo(n int) bool {
if n <= 0 {
return false
}
return (n & (n - 1)) == 0
}
解题思路:2的幂,转换成2进制的话。n一定是1开头后面位数为0,n-1则首位为0其余位为0,所以判断n>0且n & (n - 1)= 0即可。(n & n-1可以把n最低位的1变0,而当n & n-1 = 0时,则说明n只有首位是1)