Rearch Interest: Visualization">
1436. 旅行终点站
题目描述
给定一份旅游线路图,其中的旅行线路用数组paths
表示,
其中paths[i] = [cityAi, cityBi]
表示该线路将会从cityAi
直达cityBi
。
请找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。
(测试数据保证会形成一条不存在循环的线路,因此恰有一个旅行终点站。)
示例1:
输入:
paths = [["London","New York"],["New York","Lima"],["Lima","Sao Paulo"]]
输出:
"Sao Paulo"
示例2:
输入:
paths = [["B","C"],["D","B"],["C","A"]]
输出:
"A"
示例3:
输入:
paths = [["A","Z"]]
输出:"Z"
提示:
1 <= paths.length <= 100
paths[i].length == 2
1 <= cityAi.length, cityBi.length <= 10
cityAi != cityBi
- 所有字符串均由大小写英文字母和空格字符组成。
我的代码
1 | class MySolution1436 { |
方法:哈希表
根据定义,终点站不可能出现在cityAi
中,而必然出现在cityBi
中。
因此可以遍历cityBi
、返回不在cityAi
中的城市。
实现: 先把所有cityAi
存在哈希表中,然后遍历cityBi
并查询cityBi
是否存在于哈希表中。
代码
\(T(N) = O(MN), S(N) = O(MN); (N: 数组paths的长度; M: 最长的paths[i]的长度)\)
1 | class Solution1436 { |