leetcode 腾讯50题 43/502的幂

题目描述

给定一个整数,判断其是否为2的幂次。

样例
Example 1:

Input: 1
Output: true
解释: 2^0 = 1

Example 2:

Input: 16
Output: true
解释: 2^4 = 16

Example 3:

Input: 218
Output: false

思路

位运算
例如
4,4-1=3,二进制下,100和011,正好每位都不同,与运算后变成零

class Solution {
public:
    bool isPowerOfTwo(int n) {
        return (n > 0) && (!(n & (n - 1)));
    }
};
上一篇:【Kotlin篇】差异化分析,普通二本的辛酸Android面试之路


下一篇:PHP的502报错