zhangdizhangdi

83.删除排序链表中的重复元素

题目

LeetCode 简单

题目

给定一个 已排序 的链表的头 head,删除所有重复的元素,使每个元素只出现一次。返回已排序的链表。

示例:
输入:head = [1,1,2]
输出:[1,2]

输入:head = [1,1,2,3,3]
输出:[1,2,3]

题解

迭代 O(n) O(1)

ts
function deleteDuplicates(head: ListNode | null): ListNode | null {
  let cur = head
  while (cur && cur.next) {
    if (cur.next.val === cur.val) {
      cur.next = cur.next.next
    } else {
      cur = cur.next
    }
  }
  return head
}

const list = new LinkedList([1, 1, 2, 5, 5, 7])
console.log('🌰', deleteDuplicates(list.head))