22 lines
382 B
Go
22 lines
382 B
Go
// Package q201 implements a solution for https://leetcode.com/problems/bitwise-and-of-numbers-range/
|
|
package q201
|
|
|
|
func rangeBitwiseAnd(left int, right int) int {
|
|
ret := left & right
|
|
for i := ret + 1; i < right; {
|
|
ret &= i
|
|
if ret == 0 {
|
|
return 0
|
|
}
|
|
|
|
// Find first non-zero bit
|
|
t := 1
|
|
for i|t != i {
|
|
t <<= 1
|
|
}
|
|
i += t
|
|
}
|
|
return ret
|
|
}
|
|
|
|
var _ = rangeBitwiseAnd
|