Leetcode-11 2 的幂(简单)
- 题目描述
- 思路分析
- 通过代码(python)
题目描述
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。
如果存在一个整数 x 使得 n == 2^x ,则认为 n 是 2 的幂次方。
示例 1:
输入:n = 1
输出:true
解释:20 = 1
示例 2:
输入:n = 16
输出:true
解释:24 = 16
示例 3:
输入:n = 3
输出:false
提示:
思路分析
1.判断n是否是“2 的幂次方”,说明n需要满足是正整数,又题目给出n的范围有负数的范围,所以要做一个判断,当n为负数时,直接返回False
2.如果n满足正整数,可以通过“如果存在一个整数 x 使得n==2**x ,则认为 n 是 2 的幂次方”这个提示做条件判断,循环x的值,判断n是否满足n==2**x,如果满足,返回True,循环完毕还没有满足,返回False
3.根据提示给的n的范围,可以确定x的范围为[0,31]
4.python中次方的写法:**
通过代码(python)
class Solution:def isPowerOfTwo(self, n: int) -> bool:if n < 0 :return Falsefor x in range(0,32):if n == 2**x:return Truereturn False