https://leetcode.cn/problems/remove-duplicates-from-sorted-list/
给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。
示例 1:
输入:head = [1,1,2]
输出:[1,2]
class Solution:
def deleteDuplicates(self, head: Optional[ListNode]) -> Optional[ListNode]:
# 快慢指针
# 参考 26. 删除有序数组中的重复项
if not head:
return
slow, fast = head, head
while fast:
if slow.val != fast.val:
slow = slow.next
slow.val = fast.val
fast = fast.next
slow.next = None # 断开slow和后面元素的连接
return head