欧拉通路
提交代码
class Solution {
Map<String, PriorityQueue<String>> graph =new HashMap<>();
List<String> path=new LinkedList<>();
public List<String> findItinerary(List<List<String>> tickets) {
for(List<String> t: tickets)
// graph.getOrDefault(t.get(0), new PriorityQueue<String>()).offer(t.get(1));
graph.computeIfAbsent(t.get(0), k->new PriorityQueue<String>()).add(t.get(1));
visit("JFK");
return path;
}
private void visit(String airport) {
while(graph.containsKey(airport)&&graph.get(airport).size()>0)
visit(graph.get(airport).poll());
path.add(0, airport);
}
}
运行结果

本文深入探讨了欧拉通路算法的实现细节,通过一个具体的示例代码展示了如何使用Java构建图数据结构,并实现从特定起点遍历所有边的算法。文章详细解释了代码中的关键步骤,包括构建图、遍历路径以及最终返回结果的过程。
505

被折叠的 条评论
为什么被折叠?



