解题思路-leetcode第232题:2的幂
题目描述:
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例 1:
输入: 1
输出: true
解释: 20 = 1
示例 2:
输入: 16
输出: true
解释: 24 = 16
示例 3:
输入: 218
输出: false
解题思路:
首先排除特殊情况,当n等于0时,返回false。否则,然后利用while循环每一次将n除2,若除2后得到除1以外的奇数则返回false,若最终得到1,则返回true。代码如下:
class Solution:
def isPowerOfTwo(self, n: int) -> bool:
if n == 0:
return False
while n:
if n == 1:
return True
if n%2 == 0:
n = n / 2
else:
return False
提交后,通过。