leet-code/src/main/java/leetcode/editor/cn/DestinationCity.java
huangge1199@hotmail.com 51299c5f77 1436:旅行终点站
2021-10-01 20:49:54 +08:00

86 lines
2.3 KiB
Java
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//给你一份旅游线路图,该线路图中的旅行线路用数组 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" 。
//
//
// 示例 2
//
//
//输入paths = [["B","C"],["D","B"],["C","A"]]
//输出:"A"
//解释:所有可能的线路是:
//"D" -> "B" -> "C" -> "A". 
//"B" -> "C" -> "A". 
//"C" -> "A". 
//"A". 
//显然,旅行终点站是 "A" 。
//
//
// 示例 3
//
//
//输入paths = [["A","Z"]]
//输出:"Z"
//
//
//
//
// 提示:
//
//
// 1 <= paths.length <= 100
// paths[i].length == 2
// 1 <= cityAi.length, cityBi.length <= 10
// cityAi != cityBi
// 所有字符串均由大小写英文字母和空格字符组成。
//
// Related Topics 哈希表 字符串 👍 86 👎 0
package leetcode.editor.cn;
import java.util.ArrayList;
import java.util.List;
//1436:旅行终点站
class DestinationCity {
public static void main(String[] args) {
//测试代码
Solution solution = new DestinationCity().new Solution();
}
//力扣代码
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public String destCity(List<List<String>> paths) {
List<String> result = new ArrayList<>();
List<String> use = new ArrayList<>();
for (List<String> path : paths) {
if (!use.contains(path.get(1))) {
result.add(path.get(1));
}else {
use.remove(path.get(1));
}
if (!result.contains(path.get(0))) {
use.add(path.get(0));
} else {
result.remove(path.get(0));
}
}
return result.get(0);
}
}
//leetcode submit region end(Prohibit modification and deletion)
}