Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2
, return 1->2
.
Given 1->1->2->3->3
, return 1->2->3
.
解答:需要注意链表为空的状况
class Solution(object):
def deleteDuplicates(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
p = head # 指针指向头部
while p != None: # 如果所指位置不为空
while p.next != None and p.val == p.next.val: # 指针的next也不为空,比较当前和下一个节点的值
p.next = p.next.next # 若相等,当前的指针的next指向next的next
p = p.next # 指针右移
return head