# Middle-题目59：201. Bitwise AND of Numbers Range

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.

public class Solution {
private static int[] pows = new int[]{1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,134217728,268435456,536870912,1073741824};
public static int rangeBitwiseAnd(int m, int n) {
if(m>pows[30])
return pows[30] + rangeBitwiseAnd(m-pows[30],n-pows[30]);
for(int i = 1;i < 31; i++) {
if(m<pows[i] && n>pows[i])
return 0;
else if(m>=pows[i] && n<pows[i+1])
return pows[i] + rangeBitwiseAnd(m-pows[i],n-pows[i]);
}
return m&n;
}
}

public class Solution {
public int rangeBitwiseAnd(int m, int n) {
int bit = 0;
while(m!=n) {
m>>=1;
n>>=1;
bit++;
}
return m<<bit;
}
}  

Cmershen的碎碎念：

• 本文已收录于以下专栏：

## leetcode 201: Bitwise AND of Numbers Range

leetcode 201: Bitwise AND of Numbers Range java c++ python
• xudli
• 2015年05月22日 08:30
• 4289

## 201. Bitwise AND of Numbers Range**

Given a range [m, n] where 0 For example, given the range [5, 7], you should return 4. public...
• alwaystry
• 2017年02月26日 14:22
• 115

## 201. Bitwise AND of Numbers Range

Given a range [m, n] where 0 For example, given the range [5, 7], you should return 4. Credits: S...
• zhouyanz
• 2016年03月21日 11:17
• 120

## LeetCode - 201. Bitwise AND of Numbers Range

• shenzhu0127
• 2016年07月19日 18:15
• 124

## 【leetcode】201. Bitwise AND of Numbers Range

leetcode, bitwise and of numbers.
• zone_programming
• 2015年11月12日 20:30
• 231

## LeetCode *** 201. Bitwise AND of Numbers Range

• treeshy
• 2016年04月16日 09:28
• 124

## 201. Bitwise AND of Numbers Range(unsolved)

Given a range [m, n] where 0
• gdmmzmj
• 2017年04月09日 21:22
• 84

## LeetCode 201. Bitwise AND of Numbers Range

• u014674776
• 2015年06月19日 10:00
• 648

## 【Leetcode】201. Bitwise AND of Numbers Range

Total Accepted: 42844Total Submissions: 132439Difficulty: Medium Given a range [m, n] where 0...
• z49434574
• 2016年09月19日 23:01
• 282

## 201. Bitwise AND of Numbers Range LeetCode

• youthinkwu
• 2016年03月07日 22:25
• 134

举报原因： 您举报文章：Middle-题目59：201. Bitwise AND of Numbers Range 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)