问题描述:
删除链表中等于给定值 val 的所有节点。
示例:
输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5
没有头结点,就要注意第一个值的判断
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
if(head == NULL) return NULL;
ListNode *pre = head, *p=head->next;
while(p){
p->val==val ? pre->next = p->next : pre=pre->next;
p = p->next;
}
return head->val == val ? head->next : head;
}
};