删除链表中等于给定值 val 的所有节点。
示例:
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/ struct ListNode* removeElements(struct ListNode* head, int val) {
struct ListNode* s = (struct ListNode* )malloc(sizeof(struct ListNode));
s->next = head; struct ListNode* pre = s;
struct ListNode* cur = head;
while (cur)
{
if (cur->val == val)
{
pre->next = cur->next;
}
else
{
pre = cur;
}
cur = cur->next;
}
return s->next;
}