Leetcode 332. Reconstruct Itinerary

来源:互联网 发布:金兰软件怎么样 编辑:程序博客网 时间:2024/05/22 07:42
public class Solution {    Map<String, PriorityQueue<String>> flights;    LinkedList<String> path;    public List<String> findItinerary(String[][] tickets) {        flights = new HashMap<>();        path = new LinkedList<>();        for (String[] ticket : tickets) {            flights.putIfAbsent(ticket[0], new PriorityQueue<>());            flights.get(ticket[0]).add(ticket[1]);        }        dfs("JFK");        return path;    }    public void dfs(String departure) {        PriorityQueue<String> arrivals = flights.get(departure);        while (arrivals != null && !arrivals.isEmpty())            dfs(arrivals.poll());        path.addFirst(departure);    }}

0 0
原创粉丝点击