题目
Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers in this range, inclusive. Example 1: Input: [5,7] Output: 4 Example 2: Input: [0,1] Output: 0
思路
参考这个:http://www.cnblogs.com/grandyang/p/4431646.html
实现代码
class Solution(object):
def rangeBitwiseAnd(self
, m
, n
):
"""
:type m: int
:type n: int
:rtype: int
"""
i
= 0
while m
!= n
:
m
= m
>> 1
n
= n
>> 1
i
+= 1
return m
<< i