程序员社区

LeetCode1436 旅行终点站

目录 

题目 

给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。
题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行终点站。

示例 1
输入:paths = [["London","New York"],["New York","Lima"],["Lima","Sao Paulo"]]
输出:"Sao Paulo" 

分析  哈希表

终点站只会出现在cityBi中

遍历数组paths,将cityAi存到哈希表中

再次遍历数组paths,判断cityBi是否在哈希表中,不在即为终点站。

class Solution {
    public String destCity(List<List<String>> paths) {
        Set<String> citiesA = new HashSet<String>();
        for(List<String> path : paths) {
            citiesA.add(path.get(0));
        }
        for(List<String> path : paths) {
            if(!citiesA.contains(path.get(1))) {
                return path.get(1);
            }
        }
        return "";
    }
}

赞(0) 打赏
未经允许不得转载:IDEA激活码 » LeetCode1436 旅行终点站

一个分享Java & Python知识的社区