zoukankan      html  css  js  c++  java
  • 2的幂

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

    示例 1:

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

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

    输入: 218
    输出: false

    code1:位移运算

    class Solution {
    public:
        bool isPowerOfTwo(int n) {
            if(n<=0)
                return false;
    
            long num=1;
            for(int i=0;num<=n;++i)
            {
                num=1;
                num<<=i;
                if(num==n)
                    return true;
            }
            return false;
        }
    };

    code2:

    1. n的最高位为1,其余位全为0
    2. n-1的最高位为0,其余位全为1
    class Solution {
    public:
        bool isPowerOfTwo(int n) {
            if(n<=0)
                return false;
    
            return !(n&(n-1))?true:false;
        }
    };
  • 相关阅读:
    适配器模式
    事务
    JUnit4
    命令模式
    组合模式
    MySQL语法
    MyEclipse工具
    数据源和连接池
    Annotation
    Java反射机制
  • 原文地址:https://www.cnblogs.com/tianzeng/p/11969004.html
Copyright © 2011-2022 走看看