remove duplicates in linked list
def remove_duplicates(head):
cur = head
prev = None
dup = {}
while cur:
if cur.data in dup:
# Remove node:
prev.next = cur.next
cur = None
else:
# Have not encountered element before.
dup[cur.data] = 1
prev = cur
cur = prev.next
return head