# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param head ListNode类 
# @return ListNode类
#
class Solution:
    def deleteDuplicates(self , head: ListNode) -> ListNode:
        # write code here
        if not head:
            return head
        dd=self.getValueCount(head)
        dd=sorted(dd.items(),key=lambda _:_[0])
        res=cur=ListNode(0)
        for k,v in dict(dd).items():
            if v==1:
                cur.next=ListNode(k)
                cur=cur.next
        return res.next
    def getValueCount(self,head):
        cur=head
        s=[]
        while cur.next:
            s.append(cur.val)
            cur=cur.next
        s.append(cur.val)
        from collections import Counter
        d=Counter(s)
        return d