  class Node(object):
  
      def __init__(self, data, next_node=None):
          self.next = next_node
          self.data = data
  
      def __str__(self):
          return self.data
  
 
</s> remove     "    def __init__(self, data, next_node=None):\n",
    "        self.next = next_node\n",
 </s> add     "    def __init__(self, data, next=None):\n",
    "        self.next = next\n", </s> remove     def append(self, data, next_node=None):
 </s> add     def append(self, data): </s> remove             return
        node = Node(data)
        if self.head is None:
            self.head = node
        else:
            node.next = self.head
            self.head = node
 </s> add             return None
        node = Node(data, self.head)
        self.head = node </s> remove             return
        node = Node(data, next_node)
 </s> add             return None
        node = Node(data) </s> remove     "            return\n",
    "        node = Node(data)\n",
    "        if self.head is None:\n",
    "            self.head = node\n",
    "        else:\n",
    "            node.next = self.head\n",
    "            self.head = node\n",
 </s> add     "            return None\n",
    "        node = Node(data, self.head)\n",
    "        self.head = node\n",
    def __init__(self, data, next=None):
        self.next = next
  class Node(object):
  
    def __init__(self, data, next=None):
        self.next = next
    def __init__(self, data, next=None):
        self.next = next
          self.data = data
  
      def __str__(self):
          return self.data
  
keep keep replace replace keep keep keep keep keep
 Polish linked list challenge and solution

Update algorithm discussion, solution, and constraints. 
linked_lists/linked_list/linked_list.py