    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "## Clarifying Questions\n",
      "\n",
      "* This is a singly linked list?\n",
      "    * Yes\n",
      "* Can we assume we are always passed a circular linked list?\n",
      "    * No"
 
</s> remove     "    * No"
 </s> add     "    * No\n",
    "* Can we assume we already have a linked list class that can be used for this problem?\n",
    "    * Yes" </s> remove     "* j is incremented twice as fast as i\n",
    "    * If j's next is NULL, we do not have a circular list\n",
 </s> add     "* Increment i and j until they meet\n",
    "    * j is incremented twice as fast as i\n",
    "        * If j's next is NULL, we do not have a circular list\n", </s> remove     "* Check for an empty list\n",
 </s> add  </s> remove     "* [Clarifying Questions](#Clarifying-Questions)\n",
 </s> add     "* [Constraints and Assumptions](#Constraints-and-Assumptions)\n",
    "## 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",
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
    "## 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",
      "\n",
      "* This is a singly linked list?\n",
      "    * Yes\n",
      "* Can we assume we are always passed a circular linked list?\n",
      "    * No"
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/find-loop-start.ipynb