      "* Space: O(1)\n",
      "\n",
      "### Delete\n",
      "\n",
      "* If data we are deleting is NULL, return\n",
      "* If the list is empty, return\n",
      "* For each node, keep track of previous and current node\n",
      "    * If the value we are deleting is a match in the current node\n",
      "        * Update previous node's next pointer to the current node's next pointer\n",
      "        * We do not have have to explicitly delete in Python\n",
 
</s> remove     "* If data we are finding is NULL, return\n",
 </s> add     "* If data we are finding is None, return\n", </s> remove     "* If the data we are inserting is NULL, return\n",
 </s> add     "* If the data we are inserting is None, return\n", </s> remove     "* If the data we are inserting is NULL, return\n",
 </s> add     "* If the data we are inserting is None, return\n", </s> remove     "* If stack is empty, return NULL\n",
 </s> add     "* If stack is empty, return None\n", </s> remove     "* What if the final node is being deleted, for example a single node list?  Do we make it a dummy with a NULL value?\n",
 </s> add     "* What if the final node is being deleted, for example a single node list?  Do we make it a dummy with value None?\n",
    "* If data we are deleting is None, return\n",
      "* Space: O(1)\n",
      "\n",
      "### Delete\n",
      "\n",
    "* If data we are deleting is None, return\n",
      "* If the list is empty, return\n",
      "* For each node, keep track of previous and current node\n",
      "    * If the value we are deleting is a match in the current node\n",
      "        * Update previous node's next pointer to the current node's next pointer\n",
      "        * We do not have have to explicitly delete in Python\n",
keep keep keep keep replace keep keep keep keep keep
 Changed discussions of NULL to None to be more Pythonic. 
linked_lists/linked_list/linked_list_solution.ipynb