为了统一“删除首结点”和“删除中间结点”,可以在真正的 head 前增加哨兵结点 dummy。
核心:
if (p->next->data == x) { Node* t = p->next; p->next = t->next; delete t; } else { p = p->next; }
删除后不要立即移动 p,因为新的 p->next 仍可能等于 x。
p->next
注册一个 椰子CODE_椰子OJ 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 椰子CODE_椰子OJ 通用账户