5400.旅行终点

image-20200503182704783

解题

思路

  • 将每条路线看成<k,v> 装入Map集合
  • 不存在循环的路线,因此只会有一个终点。假定list第一组路线为初始值,做<start,end>,检查map中是否存在key的值为end。若map中存在 更新<start,end> ,继续寻找,否则返回end。

代码

/*
 * 2ms
*/
public String destCity(List<List<String>> paths) {
        Map<String, String> map = new HashMap<>();
        String start = paths.get(0).get(0);
        for (List<String> path : paths) {
            map.put(path.get(0), path.get(1));
        }
        String ans = map.get(start);
        while (true) {
            if (map.containsKey(ans)) {
                start = ans;
                ans = map.get(start);
            } else {
                return ans;
            }
        }
    }
posted @ 2020-05-03 18:37  YH_Simon  阅读(84)  评论(0编辑  收藏  举报