# -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x确定 # self.next = None class Solution: def deleteDuplication(self, pHead): # write code here if not pHead or not pHead.next:#如果链表为空或只有一个元素,直接返回 return pHead if pHead.val==pHead.next.val:#如果当前结点与下一结点重复,继续查找是否还有重复的 p=pHead.next.next while p and p.val==pHead.val:#如果p结点不为空且其值与当前重复的结点(pHead)相等 p=p.next#p继续往后移位查找,直到没有重复的 return self.deleteDuplication(p)#递归调用函数对头结点为p的链表进行处理 #如果当前结点与下一结点不重复,递归调用函数对头结点为pHead.next的链表进行处理 pHead.next=self.deleteDuplication(pHead.next) return pHead