1 应该难点在待删除的结点的前一个结点如何保存? 通过独立的变量prev保存 2 头尾结点要注意 刚好是头结点单独搞了一个判断 3 结束条件:while p ,p 是当前那个 我出错的地方: p->next 为空,说明是最后一个,我break了 那么当前结点就得不到判断了。 竟然么有删掉? 找到问题了 保存prev的时候,用了已经后移的p赋值 应该先保存prev, 然后,移动p 但还有错误:如果待删除是最后一个,删不掉: