0
点赞
收藏
分享

微信扫一扫

[leetcode] 1436. Destination City


Description

You are given the array paths, where paths[i] = [cityAi, cityBi] means there exists a direct path going from cityAi to cityBi. Return the destination city, that is, the city without any path outgoing to another city.

It is guaranteed that the graph of paths forms a line without any loop, therefore, there will be exactly one destination city.

Example 1:

Input: paths = [["London","New York"],["New York","Lima"],["Lima","Sao Paulo"]]
Output: "Sao Paulo"
Explanation: Starting at "London" city you will reach "Sao Paulo" city which is the destination city. Your trip consist of: "London" -> "New York" -> "Lima" -> "Sao Paulo".

Example 2:

Input: paths = [["B","C"],["D","B"],["C","A"]]
Output: "A"
Explanation: All possible trips are:
"D" -> "B" -> "C" -> "A".
"B" -> "C" -> "A".
"C" -> "A".
"A".
Clearly the destination city is "A".

Example 3:

Input: paths = [["A","Z"]]
Output: "Z"

Constraints:

  • 1 <= paths.length <= 100
  • paths[i].length == 2
  • 1 <= cityAi.length, cityBi.length <= 10
  • cityAi != cityBi
  • All strings consist of lowercase and uppercase English letters and the space character.

分析

题目的意思是:给了一个出发地到目的地的数组,然后找出最后的目的地字符串。我的思路也是很直接,用字典构建一个有向图,然后从任意几点出发,深度遍历有向图,直到找到最终的城市为止。

看了一下别人实现的,思路基本差不多。

代码

class Solution:
def destCity(self, paths: List[List[str]]) -> str:
d={}
for path in paths:
d[path[0]]=path[1]
des=paths[0][0]
while(des in d):
des=d[des]
return des

参考文献

​​[LeetCode] Easy Python Solution - 99.9% time, 100% space.​​


举报

相关推荐

0 条评论