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

                  curr_node = curr_node.next
  
    def delete_alt(self, data):
        if data is None:
            return
        if self.head is None:
            return
        curr_node = self.head
        if curr_node.data == data:
            curr_node = curr_node.next
            return
        while curr_node.next is not None:
            if curr_node.next.data == data:
                curr_node.next = curr_node.next.next
                return
            curr_node = curr_node.next

      def print_list(self):
          curr_node = self.head
          while curr_node is not None:
              print(curr_node.data)
              curr_node = curr_node.next
  
keep add keep keep keep keep keep keep
 Polish linked list challenge and solution

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