lintcode142 O(1)时间检测2的幂次

O(1)时间检测2的幂次 

用 O(1) 时间检测整数 n 是否是 2 的幂次。

样例

n=4,返回 true;

n=5,返回 false.

二进制的n中只有最左边为1其他都是0,只有一个1.

 1 class Solution {
 2 public:
 3     /*
 4      * @param n: An integer
 5      * @return: True or false
 6      */
 7     bool checkPowerOf2(int n) {
 8         // write your code here
 9         return n > 0 && ((n & (n - 1)) == 0);  
10     }
11 };

 

posted on 2017-10-07 16:18  狗剩的美丽家园  阅读(79)  评论(0编辑  收藏  举报

导航