前言
你好,我是Dr.叶子,用心写最优美的博客,弹最好听的钢琴!
1. 题目描述
【难易度:简单】
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例 1:
输入: 1
输出: true
解释: 2 0 = 1 2^0 = 1 20=1
示例 2:
输入: 16
输出: true
解释: 2 4 = 16 2^4 = 16 24=16
示例 3:
输入: 218
输出: false
2. 代码实现
- Python3 实现 解法1:
class Solution:
def isPowerOfTwo(self, n: int) -> bool:
k = 0
while True:
if 2**k == n:
return True
elif 2**k > n:
break
k += 1
return False
- Python3 实现 解法2:位运算
class Solution:
def isPowerOfTwo(self, n: int) -> bool:
return n > 0 and n & (n - 1) == 0
3. 运行结果
- 解法1:
- 解法2: 位运算
4. 题目链接
后语
- 原创内容,转载说明出处哦!
- 以上内容本人整理,亲测可行,如有任何问题,敬请指正,谢谢~~
- 点赞、收藏、也欢迎打赏,我弹钢琴你听呀~~哈哈!