第一种是保留一个重复节点
https://leetcode.com/problems/remove-duplicates-from-sorted-list/
这种好理解,碰到重复的就把指针指向重复节点的下一个。
第二种删除所有重复的
https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/
这种由于传入链表的头结点存在被删除的可能,所以先定义了一个新的头结点。
定义两个指针,后一个(last)不断指向重复的节点,当遇到不重复节点的时候,也就是 $last != last.next$,需要吧前一个(pre)指针的下一个指向后一个指针的下一个(因为要删除所有重复的节点,此时 last 指向当前重复的最后一个节点,所以要让 $pre.next = last.next$)