zoukankan      html  css  js  c++  java
  • leetcode刷题笔记 231题 2的幂

    leetcode刷题笔记 231题 2的幂

    源地址:231. 2的幂

    问题描述:

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

    示例 1:

    输入: 1
    输出: true
    解释: 20 = 1
    示例 2:

    输入: 16
    输出: true
    解释: 24 = 16
    示例 3:

    输入: 218
    输出: false

    //主要的思路基于位运算
    //2的幂的二进制特点为10..0000
    //可通过去除或仅保留最右侧的1进行处理
    object Solution {
        def isPowerOfTwo(n: Int): Boolean = {
            if (n == 0) return false
            val x: Long = n
            //(x & -x)取与操作仅保留最右侧的1
            //若其是2的幂,则取与结果为自身
            return (x & -x) == x
        }
    }
    
    object Solution {
        def isPowerOfTwo(n: Int): Boolean = {
            if (n == 0) return false
            val x: Long = n
            //(x & x-1)取与操作去除最右边的1
            //若其是2的幂,则取与结果为0
            return (x & x-1) == 0
        }
    }
    
  • 相关阅读:
    Celery
    windows笔记目录
    Linux笔记目录
    python笔记目录
    rsa
    c#目录
    webpack3.x配置
    RabbitMQ服务安装(Linux)
    JavaScript验证用户输入
    IP地址检测工具
  • 原文地址:https://www.cnblogs.com/ganshuoos/p/13839069.html
Copyright © 2011-2022 走看看