          return node
  
      def append(self, data, next_node=None):
          if data is None:
              return
          node = Node(data, next_node)
          if self.head is None:
              self.head = node
          else:
              curr_node = self.head
              while curr_node.next is not None:
 
</s> remove             self.head = node
        else:
            curr_node = self.head
            while curr_node.next is not None:
                curr_node = curr_node.next
            curr_node.next = node
 </s> add             self.head = Node(data)
            return node
        curr_node = self.head
        while curr_node.next is not None:
            curr_node = curr_node.next
        curr_node.next = node </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             else:
                curr_node = curr_node.next
        return
 </s> add             curr_node = curr_node.next
        return None
            return None
        node = Node(data)
          return node
  
      def append(self, data, next_node=None):
          if data is None:
            return None
        node = Node(data)
            return None
        node = Node(data)
          if self.head is None:
              self.head = node
          else:
              curr_node = self.head
              while curr_node.next is not None:
keep keep 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