旅行終點站 -- LeetCode -- 10.1
阿新 • • 發佈:2021-10-01
旅行終點站
題目很簡單,主要是再熟悉一下,增強for迴圈,和 map 用法;給你一份旅遊線路圖,該線路圖中的旅行線路用陣列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" 。
遍歷兩次,第一次找沒有做為起點的城市,若是在路線中,是起點則為 1 否則 為 2,2 即使最後答案。
class Solution { public: string destCity(vector<vector<string>>& paths) { map<string, int> m; for(auto p : paths){ m[p[0]] = 1; if(m[p[1]] != 1) m[p[1]] = 2; } for(auto p : m){ if(p.second != 1){ string s = p.first; return s; } } return ""; } };