/* 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; } }