题目描述
解题思路
字符串处理:遍历字符串,统计每个字符出现的次数
也许陌生的知识点
for(auto it = m.begin(); it != m.end(); it++){}
- 可用于遍历 map/vector/set 等容器,
auto
实现自动匹配对应迭代器类型 - 如果不用
auto it = m.begin()
则要写成std::map<char, int>::iterator it = m.begin()
map<char,int>
在其他情况下可替换成对应元素的类型如vector<int>
- 所需头文件: map / set / vector
- 可用于遍历 map/vector/set 等容器,
it->first
和it->second
it->first
为 map 中对应元素的关键字it->second
为 map 中对应关键字的值- 所需头文件: map
代码示例:
方法1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using namespace std;
int main(){
string A;
map<char, int> m;
cin >> A;
for(int i = 0; i < A.length(); i++){
m[A[i]]++;
}
for(auto it = m.begin(); it != m.end(); it++){
cout << it->first << ":" << it->second << endl;
}
return 0;
}方法2:
1 |
|