[链表] LeetCode 203. 移除链表元素
难度简单356
删除链表中等于给定值 *val* 的所有节点。
示例:
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
增加一个头节点,判断下一个的值是不是等于val,如果相等就把当前结点的下一个设置成下一个的下一个,不相等再后移防止跳过下一个节点
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
ListNode *p = new ListNode(0);
p->next = head;
head = p;
while(head->next){
if(head->next->val == val) head->next = head->next->next;
else head = head->next;
}
return p->next;
}
};