Beats 100% || Beginner friendly || Easy to understand || Simple solution || Self explanatory
Intuition\nGet all the cities which lead to another city and store them in a HashSet. If a city is not present in the HashSet, it is the destination city.\n\n# 
# Intuition\nGet all the cities which lead to another city and store them in a HashSet. If a city is not present in the HashSet, it is the destination city.\n\n# Approach\n- Initialize a HashSet and store all cityAi while iterating through the given nested list (paths).\n- Iterate again through paths.\n- Check if cityBi is present in the HashSet.\n- If not, return the city.\n\n# Complexity\n- Time complexity:\n$$O(n)$$\n\n- Space complexity:\n$$O(n)$$\n\n# Code\n```\nclass Solution {\n    public String destCity(List<List<String>> paths) {\n        HashSet<String> sourceCities = new HashSet<>();\n\n        for(int i=0; i<paths.size(); i++){\n            sourceCities.add(paths.get(i).get(0));\n        }\n\n        for(int i=0; i<paths.size(); i++){\n            if(!sourceCities.contains(paths.get(i).get(1)))\n                return paths.get(i).get(1);\n        }\n\n        return paths.get(0).get(0);\n    }\n}\n```
['Hash Table', 'String', 'Java']