问题太模糊了,很可能是出于某种原因(例如,产生对话而不是测试您对数据结构的实际了解).他们可能会期待你问"这是双重链接列表还是单链表?" 如果它是一个双向链表,那么它很简单:
curr->prev->next = curr->next;
curr->next->prev = curr->prev;
delete curr;
Run Code Online (Sandbox Code Playgroud)
如果它是单链接列表,则必须具有头节点,以便可以在列表中找到上一个节点.因此他们可能会期待您询问是否有指向头节点的指针.伪代码将是:
loop from head to end until test->next == curr
test->next = curr->next;
delete curr;
Run Code Online (Sandbox Code Playgroud)
或者,如果您可以修改列表(没有头节点):
temp = curr->next;
curr->data = temp->data;
curr->next = temp->next;
delete temp;
Run Code Online (Sandbox Code Playgroud)