https://leetcode.com/problems/remove-linked-list-elements/
1. Use two pointers:
//36 ms 10.6 MB/*** 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) {if(!head) return NULL;ListNode* dummy = new ListNode(-1);dummy->next = head;ListNode* curr = dummy->next;ListNode* prev = dummy;while(curr){if(curr && curr->val == val){prev->next = curr->next;curr->next = NULL;curr = prev->next;} else{curr = curr->next;prev = prev->next;}}return dummy->next;}};
