      "            continue\n",
      "        if node is end:\n",
      "            return True\n",
      "        for adj_node in node.adjacent:\n",
      "            if not adj_node.visited:\n",
      "                queue.append(adj_node)\n",
      "                adj_node.visited = True\n",
      "    return False"
     ]
    },
 
</s> remove     "                adj_node.visited = True\n",
 </s> add     "                adj_node.visit_state = State.visited\n", </s> remove     "    start.visited = True\n",
 </s> add     "    start.visit_state = State.visited\n", </s> remove     "        if not node.visited:\n",
 </s> add     "        if node.visit_state == State.unvisited:\n", </s> remove     "    root.visited = True\n",
 </s> add     "    root.visit_state = State.visited\n", </s> remove     "            if not adjacent_node.visited:\n",
 </s> add     "            if adjacent_node.visit_state == State.unvisited:\n",
    "            if adj_node.visit_state == State.unvisited:\n",
      "            continue\n",
      "        if node is end:\n",
      "            return True\n",
      "        for adj_node in node.adjacent:\n",
    "            if adj_node.visit_state == State.unvisited:\n",
      "                queue.append(adj_node)\n",
      "                adj_node.visited = True\n",
      "    return False"
     ]
    },
keep keep keep keep replace keep keep keep keep keep
 Fixed issues with node state. 
graphs_trees/graph_path_exists/path_exists_solution.ipynb