目录
题目
给你一份旅游线路图,该线路图中的旅行线路用数组 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 "";
}
}