解题思路:
本质上是简单题的中等题,思路很清晰,将次数和域名分离,接着对域名找父域名,遇到.就找一次,并用map进行统计,稍微复杂的地方在于字符串的分割,但如果是python或者java直接调用函数分割会更加轻松,代码如下:
class Solution {
public:
vector<string> subdomainVisits(vector<string>& cpdomains) {
unordered_map<string, long> mp;
vector<string> res;
for(auto& cpdomain : cpdomains) {
int index = cpdomain.find(' ');
int times = stoi(cpdomain.substr(0, index));
string s;
for(int i = cpdomain.size() - 1; i >= 0; i --) {
if(cpdomain[i] == '.' || cpdomain[i] == ' ') {
mp[s] += times;
}
s = cpdomain[i] + s;
if(cpdomain[i] == ' ') {
break;
}
}
}
for(auto& [domain, times] : mp) {
string s = to_string(times) + " " + domain;
res.emplace_back(s);
}
return res;
}
};