力扣-2 的幂
目录
🔗 题目链接
给你一个整数 n
,请你判断该整数是否是 2 的幂次方。如果是,返回 true
;否则,返回 false
。
如果存在一个整数 $x$ 使得 $n == 2^x$ ,则认为 $n$ 是 $2$ 的幂次方。
示例 1:
输入:n = 1
输出:true
解释:$2^0 = 1$
输出:true
解释:$2^0 = 1$
示例 2:
输入:n = 16
输出:true
解释:$2^4 = 16$
输出:true
解释:$2^4 = 16$
示例 3:
输入:n = 3
输出:false
输出:false
示例 4:
输入:n = 4
输出:true
解释:$2^2 = 4$
输出:true
解释:$2^2 = 4$
示例 5:
输入:n = 5
输出:false
输出:false
提示:
- $-2^{31} <= n <= 2^{31} - 1$
二进制表示
思路和算法
一个数 $n$ 是 $2$ 的幂,当且仅当 $n$ 是正整数,并且 $n$ 的二进制表示中仅包含 $1$ 个 $1$。1
|
|
复杂度分析
- 时间复杂度:$O(1)$。
- 空间复杂度:$O(1)$。