运行 图中的 DFS 问题

Issues in running DFS in a graph

节点包含(String from, String to, int time)。 给定一个 HashMap,key 是一个 String,value 是一个具有相同 from 的 Node 列表。

我想编写一个函数来查找从给定起点(String start)到终点(String end)的所有可能路径。我试着写了一个 dfs 函数,但它看起来只有 return 一组结果。任何人都可以帮忙吗?

我怀疑错误在第

    visited.remove(visited.size()-1);

如果您查看 Set JavaDoc,您会注意到唯一的 remove 方法是 boolean remove(Object o),并且没有像 List 中那样按索引删除。所以这条线是有效的(感谢自动装箱):

    visited.remove(Integer.valueOf(visited.size()-1));

这显然不是您想要的,因为它没有删除任何内容。尝试按值删除最后访问的节点:

    visited.remove(n.to);