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);
    }
}
相关推荐
努力学算法的蒟蒻1 小时前
day95(2.24)——leetcode面试经典150
算法·leetcode·面试
minh_coo1 小时前
Spring单元测试之反射利器:ReflectionTestUtils
java·后端·spring·单元测试·intellij-idea
野生技术架构师1 小时前
Spring Boot + JPackage:构建独立安装包!
java·spring boot·后端
童话的守望者1 小时前
dc9靶场通关
java·开发语言
弹简特1 小时前
【JavaEE11-后端部分】SpringMVC06-综合案例2-从用户登录看前后端交互:接口文档与HTTP通信详解
java·spring boot·spring·http·java-ee·tomcat
大黄说说1 小时前
解锁 .NET 性能极限:深入解析 Span 与零拷贝内存艺术
java·数据结构·算法
知识即是力量ol1 小时前
深入理解 Snowflake 雪花算法:原理、本质、趋势递增问题与分布式顺序困境全解析
java·分布式·算法·雪花算法·snowflake·全局唯一id·分布式id生成器
君爱学习1 小时前
G1垃圾回收器启动时 CPU 飙升的原因分析
java
若光6721 小时前
springboot防抖 限流 幂等实现 AOP注解实现
java·spring boot·后端
今天你TLE了吗1 小时前
JVM学习笔记:第五章——堆内存
java·jvm·笔记·后端·学习