美文网首页
【LeetCode】2的幂

【LeetCode】2的幂

作者: MyyyZzz | 来源:发表于2019-04-05 00:33 被阅读0次

题目描述

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

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

解题思路1:

若为2幂次方,则二进制只有一位为1,其余都为0;在计算机中负数以补码形式存在。
所以:n & -n == n时,n只有一位为1;
例如:8(00001000), -8(11111000), 00001000&11111000 = 00001000(8);

代码1:

class Solution {
public:
    bool isPowerOfTwo(int n) {
        return (n>0) && (n & -n) == n;
    }
};

解题思路2:

int能表示的最大2的幂次方数对n取余,为0返回true;

代码2:

class Solution {
public:
    bool isPowerOfTwo(int n) {
        int a = 1;
        a<<=30;
        if(n<=0 || a%n)
            return false;
        return true;
    }
};

相关文章

  • 一起学算法-231. 2 的幂

    一、题目 LeetCode-231. 2 的幂链接:https://leetcode-cn.com/problem...

  • 【LeetCode】2的幂

    题目描述 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 2^...

  • LeetCode 231-240

    231. 2的幂[https://leetcode-cn.com/problems/power-of-two/] ...

  • Leecode 位运算

    231. 2的幂[https://leetcode-cn.com/problems/power-of-two/] ...

  • Leetcode 231 2的幂

    题目 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1: 输入: 1输出: true解释: 20...

  • Swift - LeetCode - 2 的幂

    题目 给你一个整数 ,请你判断该整数是否是 的幂次方。如果是,返回 true;否则,返回 false。 如果存在...

  • (n&n-1)==0是不是2的幂次

    leetcode231. 2的幂 “给定一个整数,编写一个函数来判断它是否是 2 的幂次方。” 有大神用一行代码搞...

  • [LeetCode]231-2的幂

    231. 2的幂给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例:输入: 1 -> 输出: true输...

  • Leetcode 231. 2的幂

    题目描述 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1: 输入: 1输出: true解释: ...

  • leetcode 231 python 2的幂

    传送门 题目要求 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1:输入: 1输出: true解...

网友评论

      本文标题:【LeetCode】2的幂

      本文链接:https://www.haomeiwen.com/subject/evnciqtx.html