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