//思路:遍历。使用指针pf1放头节点,遍历链表,如果pf1->->val等于题目所给val,则直接将当前next指向next->next,跳过val所在节点
//需要注意的是,需要考虑链表中的val都是题目所给val已经空链表的情况
struct ListNode* removeElements(struct ListNode* head, int val)
{
while(head!=NULL&&(head->val)==val)
{
head = head->next;
}
if(!head)
{
return head;
}
struct ListNode* pf1 = head;
while(pf1->next)
{
if((pf1->next->val)==val)
{
pf1->next = pf1->next->next;
}
else
{
pf1 = pf1->next;
}
}
return head;
}