美文网首页Leetcode
Leetcode 201. Bitwise AND of Num

Leetcode 201. Bitwise AND of Num

作者: SnailTyan | 来源:发表于2018-09-05 18:57 被阅读0次

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

1. Description

Bitwise AND of Numbers Range

2. Solution

  • Version 1
class Solution {
public:
    int rangeBitwiseAnd(int m, int n) {
        int mask = INT_MAX;
        while((m & mask) != (n & mask)) {
            mask <<= 1;
        }
        return m & mask;
    }
};
  • Version 2
class Solution {
public:
    int rangeBitwiseAnd(int m, int n) {
        int count = 0;
        while(m != n) {
            m >>= 1;
            n >>= 1;
            count++;
        }
        return m << count;
    }
};
  • Version 3
class Solution {
public:
    int rangeBitwiseAnd(int m, int n) {
        while(m < n) {
            n &= n - 1;
        }
        return n;
    }
};

Reference

  1. https://leetcode.com/problems/bitwise-and-of-numbers-range/description/

相关文章

网友评论

    本文标题:Leetcode 201. Bitwise AND of Num

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