普通链表修改,没有什么太多可以说的
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution(object):
def deleteDuplicates(self, head):
"""
:type head: ListNode
:rtype: ListNode
还是快慢指针吧,cur.next.next存在且与cur.next的val相等时,pre去找不相等的,找到了将cur.next=pre,cur=pre
"""
cur=ans=ListNode()
ans.next=head
while cur.next and cur.next.next:
if cur.next.val==cur.next.next.val:
pre=cur.next.next
while pre and pre.val==cur.next.val:
pre=pre.next
cur.next=pre
else:
cur=cur.next
return ans.next