[LeetCode][Python]231. Power of Two

Given an integer, write a function to determine if it is a power of two.

解题思路:

看起来很简单的一道题,竟然一开始没有任何思路。不过看了提示还是自己又忘记了n&(n-1)。(n&(n-1))==0的含义,n的最高有效位为1,其余位为0。因此,n的值是2的某次方。所以,(n&(n-1))==0检查n是否为2的某次方(或者检查n是否为0)

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
class Solution(object):
    def isPowerOfTwo(self, n):
        """
        :type n: int
        :rtype: bool
        """
        return (n>0 and n&(n-1)==0)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,081评论 1 19
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,767评论 0 33
  • 1. 关于诊断X线机准直器的作用,错误的是()。 (6.0 分) A. 显示照射野 B. 显示中心线 C. 屏蔽多...
    我们村我最帅阅读 10,798评论 0 5
  • 因为之前的那个小院儿带来了很多乐趣,但就是每次来回要用两个小时,短暂的周末一寸光阴一寸金啊,于是一直就想在市...
    新澜阅读 613评论 14 2
  • 奇迹 1 今天发现自己变得越来越敞开了,也同时能结交很多朋友,我很开心。 2 我对情感和财富的敞开度越来越大啦,我...
    _郭凯_阅读 155评论 0 0