Java | Leetcode Java题解之第332题重新安排行程

题目:

题解:

java 复制代码
class Solution {
    Map<String, PriorityQueue<String>> map = new HashMap<String, PriorityQueue<String>>();
    List<String> itinerary = new LinkedList<String>();

    public List<String> findItinerary(List<List<String>> tickets) {
        for (List<String> ticket : tickets) {
            String src = ticket.get(0), dst = ticket.get(1);
            if (!map.containsKey(src)) {
                map.put(src, new PriorityQueue<String>());
            }
            map.get(src).offer(dst);
        }
        dfs("JFK");
        Collections.reverse(itinerary);
        return itinerary;
    }

    public void dfs(String curr) {
        while (map.containsKey(curr) && map.get(curr).size() > 0) {
            String tmp = map.get(curr).poll();
            dfs(tmp);
        }
        itinerary.add(curr);
    }
}
相关推荐
重整旗鼓~2 分钟前
38.附近商户实现
java·开发语言
期待のcode15 分钟前
Springboot主配置文件
java·spring boot·后端
亲爱的马哥21 分钟前
填鸭表单!开箱即用的开源问卷调查系统!
java·前端·低代码·产品经理
❀͜͡傀儡师33 分钟前
JDK 25 新特性速览
java·开发语言
兮动人39 分钟前
主流JDK版本支持时间
java·开发语言·主流jdk版本支持时间
学习中的程序媛~1 小时前
Spring 事务(@Transactional)与异步(@Async / CompletableFuture)结合的陷阱与最佳实践
java·数据库·sql
m0_565611131 小时前
Java高级特性:单元测试、反射、注解、动态代理
java·单元测试·log4j
雾林小妖1 小时前
springboot实现跨服务调用/springboot调用另一台机器上的服务
java·spring boot·后端
百***58141 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
Boop_wu1 小时前
[Java EE] 多线程 -- 初阶(3)
java·开发语言