欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人文社科 > 生活经验 >内容正文

生活经验

LeetCode简单题之旅行终点站

发布时间:2023/11/28 生活经验 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 LeetCode简单题之旅行终点站 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目

给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。
题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行终点站。
示例 1:
输入:paths = [[“London”,“New York”],[“New York”,“Lima”],[“Lima”,“Sao Paulo”]]
输出:“Sao Paulo”
解释:从 “London” 出发,最后抵达终点站 “Sao Paulo” 。本次旅行的路线是 “London” -> “New York” -> “Lima” -> “Sao Paulo” 。
示例 2:
输入:paths = [[“B”,“C”],[“D”,“B”],[“C”,“A”]]
输出:“A”
解释:所有可能的线路是:
“D” -> “B” -> “C” -> “A”.
“B” -> “C” -> “A”.
“C” -> “A”.
“A”.
显然,旅行终点站是 “A” 。
示例 3:
输入:paths = [[“A”,“Z”]]
输出:“Z”
提示:
1 <= paths.length <= 100
paths[i].length == 2
1 <= cityAi.length, cityBi.length <= 10
cityAi != cityBi
所有字符串均由大小写英文字母和空格字符组成。
来源:力扣(LeetCode)

解题思路

  仔细观察示例1,这个题其实就是找到一个cityBi,这个cityBi不和任意的cityAi相等。假如我们用cityAi作为key,cityBi作为value,那么旅游过程就是从cityAi出发它的BI作为一个新的key继续访问其他的value,这是一个套娃的过程,我们用字典来模仿即可。

class Solution:def destCity(self, paths: List[List[str]]) -> str:d={}for i,j in paths: #建立键值对d[i]=jdef travel(i):try:return travel(d[i])  #尝试将旧的value作为新的key进行访问except:return i  #如果没有key等于此value则它是终点return travel(paths[0][0])

总结

以上是生活随笔为你收集整理的LeetCode简单题之旅行终点站的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。