lc-go/solutions/2/q201/solution.go
2026-01-15 14:57:22 +09:00

21 lines
280 B
Go

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