代码:
struct ListNode* removeElements(struct ListNode* head,int val){
struct istNode* pre=NULL,*cur=head;
while(cur!==NULL)
{
if(cur->val==val)
{
//头删
if(cur==head)
{
head=cur->next;
free(cur);
cur=head;
}
else
//中间删除
{
pre->next=cur->next;
free(cur);
cur=pre->nex;
}
else
{
//迭代往后走
pre=cur;
cur=cur->next;
}
}
return head;
}