题解 | #计算某字符出现次数#
用getline把字符串保存到一个string,一个char保存目标字符。 算法里,遍历string,把字符保存到哈希表里,key为字符,value为该字符出现的次数。 因为不区分大小写,所以用tolower函数全部转成小写处理。
#include <iostream>
#include <string>
#include <unordered_map>
void CountTimes(std::string& str, char target){
std::unordered_map<char, int> map;
for(char c : str){
++map[tolower(c)];
}
int res = map[tolower(target)];
std::cout << res << std::endl;
}
int main(int argc, char* argv[]){
std::string str;
getline(std::cin, str);
char target;
std::cin >> target;
CountTimes(str, target);
return 0;
}