zoukankan      html  css  js  c++  java
  • 332. 重新安排行程(欧拉图,欧拉回路,Hierholzer 算法)

    class Solution {
        LinkedList<String> res = new LinkedList<>();
        Map<String,PriorityQueue<String>> map = new HashMap<>();
        public List<String> findItinerary(List<List<String>> tickets) {
            for(List<String> t : tickets) {
                String f = t.get(0), to = t.get(1);
                map.computeIfAbsent(f,k->new PriorityQueue<String>()).add(to);
            }
            dfs("JFK");
            return res;
        }
        public void dfs(String curr) {
            while (map.containsKey(curr) && !map.get(curr).isEmpty()) {
                String tmp = map.get(curr).poll();
                dfs(tmp);
            }
            res.addFirst(curr);
        }
        // [["JFK","KUL"],["JFK","NRT"],["NRT","JFK"]]
    }
  • 相关阅读:
    外设简述
    代C语言上机实践
    css动画效果
    css滑动门原理
    css整理
    html
    html单词
    倒计时.js
    随机方块
    求字符串出现次数和最大值
  • 原文地址:https://www.cnblogs.com/yonezu/p/13569853.html
Copyright © 2011-2022 走看看