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简单题之旅行终点站相关推荐
- LeetCode简单题之基于排列构建数组
题目 给你一个 从 0 开始的排列 nums(下标也从 0 开始).请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i < nums.length),都满足 ans ...
- LeetCode简单题之Excel 表中某个范围内的单元格
题目 Excel 表中的一个单元格 (r, c) 会以字符串 "" 的形式进行表示,其中: 即单元格的列号 c .用英文字母表中的 字母 标识. 例如,第 1 列用 'A' 表示, ...
- LeetCode简单题之增量元素之间的最大差值
题目 给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 ...
- LeetCode简单题之二进制矩阵中的特殊位置
题目 给你一个大小为 rows x cols 的矩阵 mat,其中 mat[i][j] 是 0 或 1,请返回 矩阵 mat 中特殊位置的数目 . 特殊位置 定义:如果 mat[i][j] == 1 ...
- LeetCode简单题之设计 Goal 解析器
题目 请你设计一个可以解释字符串 command 的 Goal 解析器 .command 由 "G"."()" 和/或 "(al)" 按某种 ...
- LeetCode简单题之检查两个字符串数组是否相等
题目 给你两个字符串数组 word1 和 word2 .如果两个数组表示的字符串相同,返回 true :否则,返回 false . 数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串. ...
- LeetCode简单题之找出数组的最大公约数
题目 给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 . 两个数的 最大公约数 是能够被两个数整除的最大正整数. 示例 1: 输入:nums = [2,5,6,9,10] 输出: ...
- LeetCode简单题之排列硬币
题目 你总共有 n 枚硬币,并计划将它们按阶梯状排列.对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币.阶梯的最后一行 可能 是不完整的. 给你一个数字 n ,计算并返回可形成 完整阶 ...
- LeetCode简单题之棒球比赛
题目 你现在是一场采用特殊赛制棒球比赛的记录员.这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分. 比赛开始时,记录是空白的.你会得到一个记录操作的字符串列表 ops,其中 ops[ ...
最新文章
- php-cgi 重启,自动监测和重启 FastCGI 服务
- linux awk命令用途,Linux:“awk”命令的妙用
- 【推书】重新定义公司--来自Google运营之道
- distinct的用法
- python写一个ssh工具_用Python写个自动ssh登录远程服务器的小工具
- 350个特性看透ES6
- html to docx
- day03 Python爬虫
- php如何生成一年的日历表_PHP生成的日历
- 迅雷7新版支持迷你播放器和应用平台
- 火车头 php 插件,插件 - 火车采集器官方博客
- 感谢csdn 2021年中秋月饼礼盒
- 探访广州黑人区,我好像来到非洲
- 三十了终于明白了些事
- 全网心疼的鸿星尔克,距离安踏还差两个李宁
- vue+element-ui+js页面打印(打印elementui的table)
- 淘宝天猫除了领优惠券,还可以领商家返利,这个你们知道吗?
- 核实c#语言教程,C#教程方法用法 _C#语言-w3school教程
- Unity Hub 无法登录
- C语言 实验11-1-9 藏尾诗 (20分)
热门文章
- mybatis查询报错:com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from string
- etcd 笔记(06)— Client 结构定义、客户端(初始化、KV存储Get、Put、事务 Txn、压缩 Compact、Watch、Lease
- Minkowski坐标管理
- 硬件安全模块如何启用AUTOSAR
- CUDA 11功能展示
- AttributeError: module ‘os‘ has no attribute ‘mknod‘
- Android Studio 引入aar文件
- RecyclerView 点击Item 改变文字颜色以及所在的背景色
- shell 跟踪命令
- 微信小程序wx.request POST获取不到数据解决办法