分析:找到唯一的一个只有到达,没有走出的元素。
由于path[0]表示出发点,path[1]表示到达点,所以利用集合,先收集全部的到达点,然后弹出全部的出发点,得到的就是“只出不进”的那一个终点(题目保证了终点的唯一性)。
class Solution:
def destCity(self, paths: List[List[str]]) -> str:
path_set = set()
for path in paths:
path_set.add(path[1])
for path in paths:
path_set.discard(path[0])
return path_set.pop()
简化写法,省略了set初始化:
class Solution:
def destCity(self, paths: List[List[str]]) -> str:
citiesA = {path[0] for path in paths}
return next(path[1] for path in paths if path[1] not in citiesA)