Note that this example also implies that it's a double-linked list OR you know the first pointer in the list so you can walk to the previous node. If you can't, then you can't free a node because however you did, the previous node would point to a deleted (or freed) node.