input: Write a function to remove all the duplicates from a linked list in Python.
  class Node:
      def __init__(self, data):
          self.data = data
          self.next = None
  
  class LinkedList:
      def __init__(self):
          self.head = None
  
      def remove_duplicates(self, list_nodes):
          curr_node = self.head
          new_list = []
          while curr_node != None:
              if curr_node.data not in new_list:
                  new_list.append(curr_node.data)
              curr_node = curr_node.next
          self.head = None
          for i in new_list:
              self.insert_node(i)
  
      def insert_node(self, data):
          new_node = Node(data)
          if self.head is None:
              self.head = new_node
              return
          last = self.head
          while (last.next):
              last = last.next
          last.next = new_node
  
  assert [node.data for node in LinkedList([7, 14, 28, 28, 28, 35, 49]).remove_duplicates()] == [7, 14, 28, 35, 49]
output: def remove_duplicates(self):
      if self.head is None:
          return
      seen = set()
      current = self.head
      previous = None
      while current:
          if current.data in seen:
              previous.next = current.next
          else:
              seen.add(current.data)
              previous = current
          current = current.next