# -*- 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