【Leetcode】1436. Destination City

題目地址:

https://leetcode.com/problems/destination-city/

給定一個數組,每一行含兩個字符串分別代表兩個城市,含義是第一個城市可以直達第二個城市。求那個只作爲終點不作爲起點的城市。題目保證答案存在且唯一。

思路是用一個哈希表,先把作爲終點的城市全加進來,然後再把作爲起點的城市全刪掉,題目保證答案只有一個,所以最後直接返回哈希表裏僅剩的城市即可。代碼如下:

import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Solution {
    public String destCity(List<List<String>> paths) {
        Set<String> set = new HashSet<>();
        for (List<String> path : paths) {
            set.add(path.get(1));
        }
    
        for (List<String> path : paths) {
            set.remove(path.get(0));
        }
        
        return set.iterator().next();
    }
}

時間複雜度O(nl)O(nl)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章