刷题Leetcode231 2 的幂

题目地址:https://leetcode-cn.com/problems/power-of-two/

在这里插入图片描述
题解思想:

普通思想(使用循环):

	1. 2的幂,首先排除0与负数,都为false
	2. 对2取余,若出现余数不为0,则代表不能被2整除,为false。若余数为0,则循环除以2再取余。
	3. 若最后为1,则代表一直被2整除结束,为true

进阶思想(不使用循环):
在这里插入图片描述在这里插入图片描述

普通题解代码:

def isPowerOfTwo(n):
    if(n <= 0):
        return False
    while(n > 1):
        if (n % 2):
            return False
        n = n / 2
    return True

进阶题解代码:

class Solution(object):
    def isPowerOfTwo(self, n):
            if n <= 0:
                return False
            if(n & (n - 1) == 0):
                return True
            return False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值