【题目】在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5
【思路】首先定义一个空的链表头,防止碰到前两个节点相同的情况,然后用两个指针进行判断。当last指针当前的值和last.next的值相同时,就用一个循环语句,找到连续相同的值,找到出现第一个不相同的值,然后将pre指针的next指向这个值,同时last指针指向这个值的后一个,如果没有相同的的指针,pre指针和last指针同时往后移一位。
【代码】
class Solution:
def deleteDuplication(self, pHead):
# write code here
if pHead == None:
return pHead
Head = ListNode(0)
Head