LeetCode_1436、旅行终点站

前言

这本来是国庆节当天的博客,我当天做了一天的车,就没有更新博客,只是把自己的题给做了,但是我还是要更新,因为它和符合我昨天的心情,大家一起看看叭。(昨天路上太堵车了,做了7个小时都没到家,加上没吃早饭,在服务区人太多了,也没吃,就很乏。)我们总会有背井离乡的时候,也总有想家的情绪,但在踏上归途的那一刻无疑事该开心的,昨天我回家啦,刚好主题就是旅行终点站,是呀,家不就是我们的终点站吗?

打卡截图
10_1

原题题目

给你一份旅游线路图,该线路图中的旅行线路用数组 paths 表示,其中 paths[i] = [cityAi, cityBi] 表示该线路将会从 cityAi 直接前往 cityBi 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市。
题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行终点站。

原题案例

案例

题目分析

首先,这道题,一看就是一个很简单的方式,我的思路就是将第一组数据(所有起点)全部取出,做一个哈希表,先将重复开始的数据去除,在将地二组数据(所有终点)取出,与第一组数据对比,在使用contains方法数据对比,比较有相同的就继续,知道比较到终点站没有在起点站出现过,哪一个城市就是终点啦!

代码实现

class Solution {
    
    
    public String destCity(List<List<String>> paths) {
    
    
        //设置一个哈希表,避免数据重复
        Set<String> citiesA = new HashSet<String>();
        //根据覆盖的状况,将第一个数据给提取出来
        for (List<String> path : paths) {
    
    
            citiesA.add(path.get(0));
        }
        for (List<String> path : paths) {
    
    
            //判断不是List<0>里面出现过的数据就返回
            if (!citiesA.contains(path.get(1))) {
    
    
                return path.get(1);
            }
        }
        return "";
    }
}

leetCode运行结果截图
运行截图


Ps:每日一句:世界很大,值得你去每一个角落看看,开心时,记得给在乎你的人打个电话分享,难过时,找不到倾诉的对象时,家,可以当作你的终点站。

Guess you like

Origin blog.csdn.net/qq_43325476/article/details/120589678