1. DNS分层域名系统
题目大意:给定几行两组的域名列表,输出完整域名,并且要按序输出。
输入:
第一行为整数N(N不大于20),后续N行,每行一个域名及其父域名组成,中间用空格分隔。最后一行为指定的顶级域名。
如:
5
www huawei
career huawei
google com
huawei com
sina com
com
输出:
按顶级域名升序输出。如com下的为
career.huawei.com
google.com
sina.com
www.huawei.com
思路
域名就是A.B.C的字符串,也有可能只有B.C。第一次遍历,如果B.C的C是顶级域名,记录B,如果存在A.B,那就不打印B.C
参考代码
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
List<String> list = new ArrayList<>();
Map<String, String> map = new HashMap<>();
Set<String> set = new HashSet<>();
for (int i = 0; i < N; i++) {
String s1 = scanner.next();
String s2 = scanner.next();
if ("org".equals(s2) || "com".equals(s2) || "gov".equals(s2) || "edu".equals(s2)) {
map.put(s1, s2);
}
set.add(s2);
list.add(s1 + "." + s2);
}
List<String> res = new ArrayList<>();
String s = scanner