题目描述
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
def deleteDuplication(self, pHead): # write code here if not pHead: return pHead #为了防止头结点是重复的,定义一个新结点指向头结点 temp = ListNode(0) temp.next = pHead pre, nex = temp, pHead while nex: if nex.next and nex.next.val == nex.val: #如果出现了和当前节点相同的值的时候,当前节点前移一位 while nex.next and nex.next.val == nex.val: nex = nex.next pre.next = nex.next#只是指向,并没有动pre,相当于删除 nex = nex.next else: pre = pre.next nex = nex.next return temp.next