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);
    }
}
相关推荐
smileNicky11 小时前
SpringBoot系列之集成Pulsar教程
java·spring boot·后端
Sammyyyyy12 小时前
Rust 1.92.0 发布:Never Type 进一步稳定
java·算法·rust
alonewolf_9912 小时前
深入解析G1与ZGC垃圾收集器:原理、调优与选型指南
java·jvm·算法
小镇学者12 小时前
【c++】C++字符串删除末尾字符的三种实现方法
java·开发语言·c++
rfidunion12 小时前
springboot+VUE+部署(1。新建项目)
java·vue.js·spring boot
小翰子_12 小时前
Spring Boot整合Sharding-JDBC实现日志表按月按周分表实战
java·spring boot·后端
weixin_3993806912 小时前
OA 系统假死问题分析与优化
java·运维
豆沙沙包?12 小时前
2026年--Lc334-2130. 链表最大孪生和(链表转数组)--java版
java·数据结构·链表
独自破碎E12 小时前
二分查找-I
leetcode
柒.梧.12 小时前
SSM常见核心面试问题深度解析
java·spring·面试·职场和发展·mybatis