木又连续日更第45天(45/100)
木又的第192篇leetcode解题报告
数学
类型第8篇解题报告
leetcode第231题:2的幂
https://leetcode-cn.com/problems/power-of-two/
【题目】
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
示例 1:
输入: 1
输出: true
解释: 20 = 1
示例 2:
输入: 16
输出: true
解释: 24 = 16
示例 3:
输入: 218
输出: false
【思路】
本题较为简单,设置一个变量等于1,不断乘以2,如果该数等于n,则返回True,否则直到该数大于n退出循环。
当然,我们可以首先判断特殊条件,避免很多计算,比如,n <= 0, n % 2 == 1等。
【代码】
python版本
class Solution(object):
def isPowerOfTwo(self, n):
"""
:type n: int
:rtype: bool
"""
if n < 1:
return False
if n == 1:
return True
if n % 2 == 1:
return False
count = 1
while count < n:
count *= 2
if count == n:
return True
return False
前一篇文章:T191-矩形面积