题解 | #计算某字母出现次数#
计算某字母出现次数
http://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1
写一个比较朴素的回答:
- 首先定义一个函数,用于判断字符是否是字母,也就是和
a
,A
之类的进行比较,如果是字母就返回true
; - 然后就是,大小写字母之间的转换,ASCII码
a:97
A:65
,大写 = 小写 - 32;将输入的字母对应的大(小)写存储,用于后续的判断; - 遍历字符串,如果是字母,进行判断,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; }
刷题总结类 文章被收录于专栏
这里记录一些刷题时候的总结思考