      "    * Return node\n",
      "\n",
      "Complexity:\n",
      "* Time: O(n)\n",
      "* Space: O(n), extra space for result and recursion depth"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
 
</s> remove     "* Test for error cases\n",
    "* Careful with adding if the lists differ\n",
    "    * Only add if a node is not NULL\n",
    "    * Alternatively, we could add trailing zeroes to the smaller list\n",
 </s> add  </s> remove     "    * Return NULL for an invalid operation"
 </s> add     "    * Return NULL for an invalid operation\n",
    "* How large are these numbers--can they fit in memory?\n",
    "    * Yes\n",
    "* Can we assume we already have a linked list class that can be used for this problem?\n",
    "    * Yes" </s> remove     "## Clarifying Questions\n",
 </s> add     "## Constraints and Assumptions\n",
    "\n",
    "*Problem statements are often intentionally ambiguous.  Identifying constraints and stating assumptions can help to ensure you code the intended solution.*\n", </s> remove     "* [Code](#Code)"
 </s> add     "* [Code](#Code)\n",
    "* [Unit Test](#Unit-Test)"
    "* Space: O(n), extra space for result and recursion depth\n",
    "\n",
    "Notes:\n",
    "* Careful with adding if the lists differ\n",
    "    * Only add if a node is not NULL\n",
    "    * Alternatively, we could add trailing zeroes to the smaller list"
      "    * Return node\n",
      "\n",
      "Complexity:\n",
      "* Time: O(n)\n",
    "* Space: O(n), extra space for result and recursion depth\n",
    "\n",
    "Notes:\n",
    "* Careful with adding if the lists differ\n",
    "    * Only add if a node is not NULL\n",
    "    * Alternatively, we could add trailing zeroes to the smaller list"
     ]
    },
    {
     "cell_type": "markdown",
     "metadata": {},
keep keep keep keep replace keep keep keep keep keep
 Reworked notebook: Added more detail to constraints and test cases.  Reworked algorithm discussion and unit test. 
linked-lists/add-reverse.ipynb