LeetCode-python 231.2的幂

题目链接
难度:简单       类型: 数学


给定一个整数,编写一个函数来判断它是否是 2 的幂次方。

示例

输入: 1
输出: true
解释: 20 = 1

示例2

输入: 16
输出: true
解释: 24 = 16

示例3

输入: 218
输出: false

解题思路


若n为 2的幂,则n的二进制表示中只有一个1在最高为,n-1的二进制全都是1,且比n的二进制少一位
则 n&(n-1)为0

代码实现

class Solution(object):
    def isPowerOfTwo(self, n):
        """
        :type n: int
        :rtype: bool
        """
        if n<=0:
            return False
        return not n&(n-1)

本文链接://www.greatytc.com/p/fb710983902c

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 传送门 题目要求 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1:输入: 1输出: true解...
    慧鑫coming阅读 361评论 0 1
  • 题目 难度:★☆☆☆☆类型:数学 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 示例 1: 输入...
    玖月晴阅读 1,695评论 0 0
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,883评论 0 10
  • 题目 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1:输入: 1输出: true解释: 20 ...
    FesonX阅读 261评论 0 1
  • 1. file n. 文件;v. 保存文件2. command n. 命令指令3. use v. 使用用途4. p...
    喵呜Yuri阅读 782评论 0 4