leetcode-整数-n的幂问题

42 阅读1分钟

给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。

输入: n = 1
输出: true
解释: 20 = 1

第一种解法

func isPowerOfTwo(n int) bool {
    if n < 1 {
        return false
    }

    for n > 1 {
        if n % 2 != 0 {
            return false
        }

        n /= 2
    }
    return true
}