剑指56-删除链表中重复的结点 Posted on 2019-09-13 | In 剑指offer | 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 表头比较难处理,为了方便,新建了一个节点作为表头。 123456789101112131415161718class Solution: def deleteDuplication(self, pHead): # 确定pHead不是重复节点 node = ListNode(20190915) node.next = pHead p1 = p2 = node while p1: p2 = p1.next while p2 and p2.next and p1.next.val == p2.next.val: p2 = p2.next if p2 == p1.next: p1 = p2 = p1.next else: p1.next = p2.next p2 = p1 return node.next