import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* }
*/
public class Solution {
/**
*
* @param head ListNode类
* @return ListNode类
*/
public ListNode deleteDuplicates (ListNode head) {
if (head == null) return null;
ListNode cur = head;
List<Integer> list = new ArrayList<>();
while (cur != null) {
if (cur.next != null && cur.val == cur.next.val) {
cur.next = cur.next.next;
if (!list.contains(cur.val))
list.add(cur.val);
continue;
}
cur = cur.next;
}
if (list.size() == 0) {
return head;
}
cur = head;
ListNode prev = cur;
while (cur != null) {
if (list.contains(head.val)) {
head = head.next;
cur = head;
prev = cur;
} else if (list.contains(cur.val)) {
prev.next = cur.next;
cur = cur.next;
continue;
} else {
prev = cur;
cur = cur.next;
}
}
return head;
}
}