delete a node in the middle of a singly linked list