Remove all elements from a linked list of integers that have value val.
Example:
Input: 1->2->6->3->4->5->6, val = 6 Output: 1->2->3->4->5 Accepted
增加头节点,以防止溢出
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
ListNode *pseudo_head =new ListNode(0),*p;
pseudo_head->next=head;
p=pseudo_head;
while(p){
if(p->next && p->next->val==val) p->next=p->next->next;
//防止溢出的关键是先判断那个指针存在,再去用它的值
else p=p->next;
}
return pseudo_head->next;
}
};