815. 公交路线

注意层次遍历,队列会动态增加

class Solution {
    public int numBusesToDestination(int[][] routes, int source, int target) {
        if(source == target) return 0;
        Queue queue = new LinkedList<>();
        int res = 0;
        Map> map = new HashMap<>();
        Set set = new HashSet<>();
        for(int i=0; i temp = map.getOrDefault(val, new ArrayList<>());
                temp.add(i);
                map.put(val, temp);
            }
        } 
        queue.add(source);
        while(!queue.isEmpty()) {
            res++;
            //注意queue会动态增加
            for (int i = queue.size(); i > 0; --i) {
                int poll = queue.poll();
                List temp = map.getOrDefault(poll, new ArrayList<>());
                for(Integer val: temp) {
                    if(set.contains(val)) {
                        continue;
                    }
                    set.add(val);
                    for(int k = 0; k

你可能感兴趣的:(815. 公交路线)