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);
    }
}
相关推荐
plainGeekDev2 小时前
SQLite 手动升级 → Room Migration
android·java·kotlin
小欣加油2 小时前
leetcode121买卖股票的最佳时机
数据结构·c++·算法·leetcode·职场和发展
带刺的坐椅2 小时前
SolonCode(编码智能体)支持鸿蒙 PC
java·web·ai编程·harmonyos·soloncode·鸿蒙 pc
程序员二叉2 小时前
【JVM】类加载全过程&双亲委派机制深度解析
java·jvm·面试
开发者联盟league2 小时前
使用jenkins pipeline将项目打包运行在k8s上报错kubectl: Permission denied
java·kubernetes·jenkins
ch.ju2 小时前
Java程序设计(第3版)第四章——继承的特点
java·开发语言
Chase_______2 小时前
【Java杂项】Arrays.asList、List.of 和 new ArrayList:集合可变性避坑
java·windows·list
发际线向北2 小时前
0x07 深入了解JVM虚拟机(JVM异常处理)
java
Seven972 小时前
每个线程只管自己的变量,性能却不如单线程?问题出在缓存行
java
2601_961845152 小时前
2026四级作文预测题|英语四级写作押题+提纲PDF
java·c语言·数据库·c++·python·pdf·php