La idea es establecer dos punteros,
donde uno apunta al último número que apareció primero (inicializado en Ninguno) y el
otro apunta al número investigado actualmente.
Al principio, esto es Ninguno, y cur comienza desde el primer elemento,
cuando este es Ninguno Hacemos este punto al elemento señalado por cur.
Después de eso, si el valor del elemento señalado por cur es igual al valor del elemento señalado por esto, dejamos que el siguiente de este se refiera al
siguiente de cur. esto es cur
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def deleteDuplicates(self, head: ListNode) -> ListNode:
this = None#存放上一个要保留的元素
cur = head
while cur != None:
if this == None:
this = cur
else:#有
if cur.val != this.val:
this.next = cur
this = cur
elif cur.val == this.val:
this.next = cur.next
cur = cur.next
return head