1、关键就在于分词。
2、(1)string的find()函数查找的是字符(串)出现位置的下标,而非迭代器!
(2)、int转string:全局函数std::to_string
string转int:std::stoi/stol/stoll https://zh.cppreference.com/w/cpp/string/basic_string/stol
class Solution {
public:
vector<string> subdomainVisits(vector<string>& cpdomains){
vector<string> res;
map<string, int> resMap;
for(auto str:cpdomains){
int index = str.find(" ");
int Number = 0;
string numStr;
numStr.assign(str.begin(), str.begin()+index);
Number = stoi(numStr);
str.assign(str.begin()+index+1, str.end());
resMap[str] += Number;
index = str.find(".");
while(index != -1){
str.assign(str.begin()+index+1, str.end());
resMap[str] += Number;
index = str.find(".");
}
}
for(auto itMap:resMap){
string resStr = to_string(itMap.second) + " " +itMap.first;
res.push_back(resStr);
cout << resStr;
}
return res;
}
};
本文深入探讨了C++中使用find()函数进行分词的细节,以及如何实现int与string之间的转换。通过具体代码示例,展示了如何解析包含数字和字符串的复合数据,如从次数 域名格式的输入中提取次数并更新域名的计数。
402

被折叠的 条评论
为什么被折叠?



