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

计算某字母出现次数

http://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1

写一个比较朴素的回答:

  1. 首先定义一个函数,用于判断字符是否是字母,也就是和a,A之类的进行比较,如果是字母就返回true
  2. 然后就是,大小写字母之间的转换,ASCII码 a:97 A:65 ,大写 = 小写 - 32;将输入的字母对应的大(小)写存储,用于后续的判断;
  3. 遍历字符串,如果是字母,进行判断,count + 1;

cpp代码

#include<iostream>
#include<string>
class Solution {
public:
    static bool isCharacter(char ch) {
        if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')
            return true;
        return false;
    }
    static int characterCount(std::string& str, char ch) {
        char CH;
        int count = 0;
        if (ch >= 'a' && ch <= 'z') CH = ch - 32;
        if (ch >= 'A' && ch <= 'Z') CH = ch + 32;
        for (auto c: str) {
            if (isCharacter(c)) {
                if (c == ch || c == CH) 
                    count++;
            }
        }
        return count;
    }
};

int main() {
    //输入的是包含数字 字母 空格 ,输入的字母可能是大写也可能是小写
    // ASCII A 65 a 97 大小写之间转换 +32
    std::string myStr;
    char ch;
    std::getline(std::cin, myStr);
    std::cin.get(ch);
    std::cout << Solution::characterCount(myStr, ch) << std::endl;
    return 0;
}
刷题总结类 文章被收录于专栏

这里记录一些刷题时候的总结思考

全部评论

相关推荐

2024-12-27 10:21
已编辑
海南师范大学 媒介策划
到我怀里来:身高体重住址这些就别写了,留几个关键的就行,工作经历突出重点写详细点
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务