链表中比较简单的一种,需要考虑头结点删除的问题
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
ListNode* dummyHead=new ListNode{0};
dummyHead->next=head;
ListNode* cur=dummyHead;
while(cur->next!=NULL){
if(cur->next->val==val){
ListNode* delNode=cur->next;
cur->next=delNode->next;
delete delNode;
}
else cur=cur->next;
}
return dummyHead->next;
}
};