这个题卡了一会,各种报错。
思路有问题,开始想到了新建一个链表进行存储,问题在于:
我原来的想法是在原链表上找到符合要求那个点再添加到新链表中去。这样其实比较麻烦。
新的方法先把ListNode放到新链表p后面,也就是p.next=ListNode,
再判断是否符合要求(没有重复),如果符合要求,p=p.next,不断更新
如果不符合要求,下一个ListNode还是放在p后面,仍然是p.next=ListNode
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def deleteDuplicates(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
dummy = p = ListNode(0)
p.next = head
while head and head.next:
if head.val == head.next.val:
while head.next and head.val == head.next.val:
head = head.next
head=head.next
p.next = head
else:
p=p.next
head = head.next
return dummy.next