void remove_duplicates(node head)
{
node temp;
while (head != NULL && head->next != NULL)
{
if (head->data == head->next->data)
{
temp = head->next;
head->next = head->next->next;
free(temp);
}
else
head = head->next;
}
}
</code>
每次删除节点或移动到下一个节点时,都应该检查head-next是否为NULL。