/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
*/
import java.util.*;
public class Solution {
public ListNode deleteDuplication(ListNode pHead) {
if(pHead == null){
return pHead;
}
ListNode dummy = new ListNode(-1);
dummy.next = pHead;
HashSet<Integer> set = new HashSet<>();
ListNode pre = dummy;
while(pre.next != null){
if(pre.val == pre.next.val){
set.add(pre.val);
}
pre = pre.next;
}
pre = dummy;
while(pre.next != null){
if(set.contains(pre.next.val)){
pre.next = pre.next.next;
}else{
pre = pre.next;
}
}
return dummy.next;
}
}