Remove all elements from a linked list of integers, that has value val.
Example
Given: 1---2--and 6---3---4---5, val = 6
Return: 1--2--and 3--4--5
You can save a pointer by determining whether the value of P.next is equal to the provided value to determine the next node of P.
varRemoveelements =function(Head, Val) {if(!head)return NULL vardummy =NewListNode () Dummy.next=Headvarp =Dummy while(P.next)if(p.next.val===val) P.next=P.next.nextElseP=P.nextreturnDummy.next};
You can also use a double-pointer previous,current. Each time you determine whether current is equal to the provided value and then identify the next node of previous.
defRemove_elements (Head, Val)return if notHead Dummy=listnode.new (0) Dummy.next=Head Previous=Dummy Current=Head while CurrentifCurrent.val = =Val Previous.next=Current.nextElseprevious=Current End current=Current.next End Dummy.nextend
Leetcode 203 Remove Linked List Elements