题目链接:https://leetcode-cn.com/problems/remove-linked-list-elements/description/
题目描述
删除链表中等于给定值 val 的所有节点。
示例
输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5
解决方法
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
ListNode *pummyhead=new ListNode(-1);
pummyhead->next=head;
ListNode *begin=pummyhead;
while(begin->next){
ListNode *end=begin->next;
if (end->val==val){
if (!end->next) begin->next=NULL;
else begin->next=end->next;
}
else
begin=begin->next;
}
return pummyhead->next;
}
};