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);
    }
}
相关推荐
程序员黑豆14 小时前
Java字符串详解
java·前端·ai编程
EntyIU16 小时前
NFS离线部署
java
.道阻且长.18 小时前
5.LeetCode算法习题讲解--双指针--有效三角形的个数
算法·leetcode·职场和发展
OH_TPC18 小时前
HarmonyOS APP开发---“滤镜大师“图像处理App,需要用到这个库
java·图像处理·华为·harmonyos·鸿蒙
imaol120 小时前
链表 -- 环链表
java·前端·链表
imaol120 小时前
链表 -- 双向链表
java·前端·链表
2601_9638699520 小时前
【计算机毕业设计】基于Java的相框定制系统的设计与实现
java·开发语言·课程设计
xin_nai21 小时前
LeetCode热题100(Java)(7)链表(下)
java·leetcode·链表
于烛21 小时前
为什么hasNext() 对只有一个元素的集合返回 true?90%初学者都有的疑问
java
想吃火锅100521 小时前
【leetcode】54. 螺旋矩阵
算法·leetcode·矩阵