Remove all elements from a linked list of integers that have value val.
Example
Given: 1 –> 2 –> 6 –> 3 –> 4 –> 5 –> 6, val = 6
Return: 1 –> 2 –> 3 –> 4 –> 5
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ListNodes {
public int val;
public ListNodes next;
public ListNodes(int x) { val = x; }
public ListNodes(int x,ListNodes nexts) { val = x; next=nexts;}
public ListNodes removeElements(ListNodes head, int val) {
if(head==null)
return head;
while(head!=null&&head.val==val)
{
head=head.next;
}
ListNodes post=null;
ListNodes cur=head;
ListNodes tmp=null;
while(cur!=null)
{
if(cur.val==val)
{
post.next=cur.next;
cur=post.next;
}
else
{
post=cur;
cur=cur.next;
}
}
return head;
}
}