the block as below
current := list.head
for current.next != nil {
if current.next.data == i {
if current.next.next != nil {
current.next.next.prev = current
}
current.next = current.next.next
return true
}
current = current.next
}
there should no current.next.next==nil condition, if current.next.next==nil, then current.next will be the list.tail