연결된 ListNode
에서 중복된 요소를 모두 제거하고 이어붙이는 문제이다.
포인트는 중복된 요소를 반복하여 모두 생략하고 이전 요소와 이어붙이는 로직이다.
function deleteDuplicates(head: ListNode | null): ListNode | null {
let start = new ListNode(0)
start.next = head
let prev = start
let cur = head
while(cur) {
if(cur.next && cur.val === cur.next.val) {
while(cur.next && cur.val === cur.next.val) cur = cur.next
prev.next = cur.next
} else {
prev = cur
}
cur = cur.next
}
return start.next
};