Python || 93.83% Faster || Easy || O(N) Solution
\nclass Solution:\n    def deleteDuplicates(self, head: Optional[ListNode]) -> Optional[ListNode]:\n        if head==None or head.next==None:\n            retur
```\nclass Solution:\n    def deleteDuplicates(self, head: Optional[ListNode]) -> Optional[ListNode]:\n        if head==None or head.next==None:\n            return head\n        d={}\n        temp=head\n        while temp!=None:\n            if temp.val in d:\n                d[temp.val]+=1\n            else:\n                d[temp.val]=1\n            temp=temp.next\n        temp=head\n        L=ListNode()\n        temp2=L\n        while temp!=None:\n            if temp.next==None and d[temp.val]>1:\n                temp2.next=None\n            if d[temp.val]>1:\n                temp=temp.next\n            else:\n                temp2.next=temp\n                temp2=temp2.next\n                temp=temp.next\n        return L.next\n```\n\n**An upvote will be encouraging**
['Linked List', 'Iterator', 'Python', 'Python3']