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);
    }
}
相关推荐
Gerardisite37 分钟前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php
闲人编程1 小时前
Python的导入系统:模块查找、加载和缓存机制
java·python·缓存·加载器·codecapsule·查找器
故渊ZY2 小时前
Java 代理模式:从原理到实战的全方位解析
java·开发语言·架构
匿者 衍2 小时前
POI读取 excel 嵌入式图片(支持wps 和 office)
java·excel
一个尚在学习的计算机小白2 小时前
java集合
java·开发语言
IUGEI2 小时前
synchronized的工作机制是怎样的?深入解析synchronized底层原理
java·开发语言·后端·c#
q***13612 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
z***I3942 小时前
Java桌面应用案例
java·开发语言
r***12382 小时前
SpringBoot最佳实践之 - 使用AOP记录操作日志
java·spring boot·后端
间彧3 小时前
Java进程内存深度解析:从JVM组件内存到RSS的全面视角
java