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);
    }
}
相关推荐
秋波。未央6 小时前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
何以解忧,唯有..6 小时前
Go语言中的const:常量声明与iota枚举详解
java·开发语言·golang
范什么特西6 小时前
Spring boot细节
java·spring boot·后端
Ysouy6 小时前
Spring Data Elasticsearch 全流程学习教程
java·spring·elasticsearch
沪飘大军6 小时前
goldRush-专门分析黄金的投资理财agent
java·开发语言·elasticsearch
凌波粒6 小时前
LeetCode--491.递增子序列(回溯算法)
数据结构·算法·leetcode
鹏易灵6 小时前
C++——2.常量与 const、constexpr 初识详解
java·开发语言·c++
qq_452396236 小时前
第十三篇:《K8s 安全基础:RBAC、ServiceAccount、Pod Security》
java·安全·kubernetes
张某布响丸辣7 小时前
Spring AI 极简入门:Java 开发者快速上手 AI 开发
java·人工智能·spring·springai