其他分享
首页 > 其他分享> > 刷题Leetcode231 2 的幂

刷题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

标签:return,进阶,Leetcode231,题解,isPowerOfTwo,取余,false,刷题
来源: https://blog.csdn.net/ZZZ___bj/article/details/117402516