leetcode 201. Bitwise AND of Numbers Range

我就是我 2022-07-27 13:38 255阅读 0赞

Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers in this range, inclusive.

For example, given the range [5, 7], you should return 4.

  1. class Solution {
  2. public:
  3. int rangeBitwiseAnd(int m, int n) {
  4. int re = 0;
  5. if (m ==n)
  6. return m;
  7. int k1 = log2(m);
  8. int k2 = log2(n);
  9. while (k2== k1)
  10. {
  11. re += pow(2, k1);
  12. m = m - pow(2, k1);
  13. n = n - pow(2, k1);
  14. k1 = log2(m);
  15. k2 = log2(n);
  16. }
  17. return re;
  18. }
  19. };

accepted

发表评论

表情:
评论列表 (有 0 条评论,255人围观)

还没有评论,来说两句吧...

相关阅读