231.2 的幂

1,315 阅读1分钟

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

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

func isPowerOfTwo(n int) bool {
	curBit := 0
	for n > 0 {
		curBit = n & 1
		n = n >> 1
		if curBit == 1 {
			return n == 0
		}
	}
	return false
}