题解 | #计算某字符出现次数#

用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;
}
全部评论

相关推荐

刷牛客的我很豁达:你是不是对算法有什么误解,你没手握两篇顶刊顶会,还想搞算法岗,有顶刊顶会在算法岗算才入门
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务