【哈希】用哈希表来记录字符串和他的出现顺序即可。
class Solution {
// 字符串
// 9:23 9
public List<String> subdomainVisits(String[] cpdomains) {
Map<String, Integer> map = new HashMap();
for (String cp: cpdomains) {
String[] str = cp.split(" ");
int num = Integer.parseInt(str[0]);
String[] dom = str[1].split("\\.");
int m = dom.length;
String tmp = dom[m - 1];
map.put(tmp, map.getOrDefault(tmp, 0) + num);
for (int i = m - 2; i >= 0; i--) {
tmp = dom[i] + "." + tmp;
map.put(tmp, map.getOrDefault(tmp, 0) + num);
}
}
List<String> list = new ArrayList();
for (String key: map.keySet()) {
list.add(map.get(key) + " " + key);
}
return list;
}
}