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);
    }
}
相关推荐
abments1 小时前
pgsql timestamp without time zone > character varying解决方案
java
sanggou1 小时前
大数据量查询处理方案 - 内存优化与高效展示
java
没有bug.的程序员1 小时前
Java 字节码:看懂 JVM 的“机器语言“
java·jvm·python·spring·微服务
-大头.1 小时前
深入理解 Java 内存区域与 JVM 运行机制
java·jvm
没有bug.的程序员1 小时前
JVM 整体架构:一套虚拟机的心脏与血管
java·jvm·spring boot·spring cloud·架构
晨枫阳2 小时前
不同语言的元组对比
java·前端·javascript
悟能不能悟2 小时前
怎么在idea合并2个个branch
java·ide·intellij-idea
i02083 小时前
SpringBoot 项目配置
java·spring boot·后端
计算机毕业设计小途3 小时前
计算机毕业设计推荐:基于springboot的快递物流仓库管理系统【Java+spring boot+MySQL、Java项目、Java毕设、Java项目定制定
java·spring boot·mysql
flashlight_hi3 小时前
LeetCode 分类刷题:404. 左叶子之和
javascript·算法·leetcode