https://leetcode.com/problems/remove-duplicates-from-sorted-list/description/
删除有序链表中重复的结点,只保留一个。
思路:与82. Remove Duplicates from Sorted List II略有不同,之前是pre指向i的前驱,这里pre和i同步,遇到重复时i向前,pre不动;非重复的话i和pre同时向前。
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def deleteDuplicates(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
pre = i = head
while i:
while i.next and i.val == i.next.val:
i = i.next
if pre != i:
pre.next = i.next
i = i.next
pre = i
else:
i = i.next
pre = i
return head