// 1.使用虚拟头节点
// 2.双层循环判断下一个节点是否是重复的val
var deleteDuplicates = function (head) {
if (!head) return head;
let p = head;
let ret = new ListNode(0, head);
let q = ret;
while (p && p.next != null) {
if (p.val == p.next.val) {
let tail = p.next.next;
while (tail != null && tail.val == p.val) {
tail = tail.next;
}
q.next = tail;
p = tail;
} else {
q = q.next;
p = p.next;
}
}
return ret.next;
};