思路分析

建立两个集合,分别存储作为起点出现过的城市和作为终点出现过的城市,最终答案即为终点集与起点集的差

代码实现

  1. class Solution {
  2. public String destCity(List<List<String>> paths) {
  3. // 终点集
  4. HashSet<String> dest = new HashSet<String>();
  5. // 起点集
  6. HashSet<String> origin = new HashSet<String>();
  7. for (List<String> path : paths) {
  8. origin.add(path.get(0));
  9. dest.add(path.get(1));
  10. }
  11. String ans = "";
  12. for (String i : dest) {
  13. if (!origin.contains(i)) {
  14. ans = i;
  15. break;
  16. }
  17. }
  18. return ans;
  19. }
  20. }