# 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点

 

示例 1:

输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]

示例 2:

输入:head = [], val = 1
输出:[]

示例 3:

输入:head = [7,7,7,7], val = 7
输出:[]

 

提示:

## template ```cpp #include using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; class Solution { public: ListNode *removeElements(ListNode *head, int val) { ListNode *dumynode = new ListNode(0); dumynode->next = head; ListNode *fast = dumynode->next; ListNode *slow = dumynode; while (fast != NULL) { if (fast->val == val) { slow->next = slow->next->next; } else { slow = slow->next; } fast = fast->next; } ListNode *ret = dumynode->next; delete dumynode; return ret; } }; ``` ## 答案 ```cpp ``` ## 选项 ### A ```cpp ``` ### B ```cpp ``` ### C ```cpp ```