      "* def hanoi(n, src, dest, buffer):\n",
      "    * If 0 disks return\n",
      "    * hanoi(n-1, src, buffer)\n",
      "    * Move remaining element from src to dest\n",
      "    * hanoi(n-1, buffer, dest)    \n",
      "\n",
      "Complexity:\n",
      "* Time: O(2^n)\n",
      "* Space: O(m) where m is the number of recursion levels"
     ]
 
</s> remove     "    * hanoi(n-1, src, buffer)\n",
 </s> add     "    * hanoi(n-1, src, buffer, dest)\n", </s> remove     "        return self._create_min_bst(array, 0, len(array)-1)\n",
 </s> add     "        return self._create_min_bst(array, 0, len(array) - 1)\n", </s> remove     "        node.left = self._create_min_bst(array, start, mid-1)\n",
    "        node.right = self._create_min_bst(array, mid+1, end)\n",
 </s> add     "        node.left = self._create_min_bst(array, start, mid - 1)\n",
    "        node.right = self._create_min_bst(array, mid + 1, end)\n",
    "    * hanoi(n-1, buffer, dest, src)\n",
      "* def hanoi(n, src, dest, buffer):\n",
      "    * If 0 disks return\n",
      "    * hanoi(n-1, src, buffer)\n",
      "    * Move remaining element from src to dest\n",
    "    * hanoi(n-1, buffer, dest, src)\n",
      "\n",
      "Complexity:\n",
      "* Time: O(2^n)\n",
      "* Space: O(m) where m is the number of recursion levels"
     ]
keep keep keep keep replace keep keep keep keep keep
 Update formatting and whitespace in a few challenges (#142) 
recursion_dynamic/hanoi/hanoi_solution.ipynb