     "metadata": {},
     "source": [
      "## Problem: Add two numbers whose digits are stored in a linked list in reverse order.\n",
      "\n",
      "* [Clarifying Questions](#Clarifying-Questions)\n",
      "* [Test Cases](#Test-Cases)\n",
      "* [Algorithm](#Algorithm)\n",
      "* [Code](#Code)"
     ]
    },
 
</s> remove     "* [Code](#Code)"
 </s> add     "* [Code](#Code)\n",
    "* [Unit Test](#Unit-Test)" </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    "outputs": [],
 </s> add    "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test: Empty list(s)\n",
      "Test: Add values of different lengths\n",
      "Test: Add values of same lengths\n",
      "Success: test_add\n"
     ]
    }
   ],
    "* [Constraints and Assumptions](#Constraints-and-Assumptions)\n",
     "metadata": {},
     "source": [
      "## Problem: Add two numbers whose digits are stored in a linked list in reverse order.\n",
      "\n",
    "* [Constraints and Assumptions](#Constraints-and-Assumptions)\n",
      "* [Test Cases](#Test-Cases)\n",
      "* [Algorithm](#Algorithm)\n",
      "* [Code](#Code)"
     ]
    },
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