Leetcode.1436. 旅行终点站--哈希表思想+集合
2021/10/1 23:14:04
本文主要是介绍Leetcode.1436. 旅行终点站--哈希表思想+集合,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1436. 旅行终点站
给你一份旅游线路图,该线路图中的旅行线路用数组 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 所有字符串均由大小写英文字母和空格字符组成。
题解:
- 理解题意,我们要找的是最终的终点,一旦一个点不是最终的终点,那么如果他也不是最初的起点的话,其一定为中间的部分,即又当起点又当终点!
- 因此我们将所有的起点放进map中,接着拿所有的终点去里面查询,一旦查询到为null的,即此时的这个终点不会被当做起点,因此他就是符合题意的最终终点!
代码:
class Solution { public String destCity(List<List<String>> paths) { Map<String, Integer> map = new HashMap<String, Integer>(); for (List<String> list : paths) map.put(list.get(0), 1); for (List<String> list : paths) if (map.get(list.get(1)) == null) return list.get(1); return null; } }
这篇关于Leetcode.1436. 旅行终点站--哈希表思想+集合的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15在使用平台私钥进行解密时提示 "私钥解密失败" 错误信息是什么原因?-icode9专业技术文章分享
- 2024-11-15Layui框架有哪些方式引入?-icode9专业技术文章分享
- 2024-11-15Layui框架中有哪些减少对全局环境的污染方法?-icode9专业技术文章分享
- 2024-11-15laydate怎么关闭自动的日期格式校验功能?-icode9专业技术文章分享
- 2024-11-15laydate怎么取消初始日期校验?-icode9专业技术文章分享
- 2024-11-15SendGrid 的邮件发送时,怎么设置回复邮箱?-icode9专业技术文章分享
- 2024-11-15使用 SendGrid API 发送邮件后获取到唯一的请求 ID?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 tags标签最多有多少个?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 怎么批量发送给多个人?-icode9专业技术文章分享
- 2024-11-15如何搭建web开发环境并实现 web项目在浏览器中访问?-icode9专业技术文章分享