题解
找到指定字符出现的次数
1 条题解
-
0
解题思路
这是最基础的"数一数"问题:给一行字,再给一个指定的字符,数一数这个字符在这行字里出现了几次。
步骤:
- 读入字符串。 第一行用
getline读入,因为字符串里可能有空格。 - 读入要查找的字符。 第二行读入那个字符。为了稳妥,我们也用
getline读一行,然后取它的第一个字符t[0]。这样做的好处是:就算题目要查找的字符恰好是一个空格,也不会被读丢。 - 遍历字符串计数。 用一个变量
cnt从0开始,把字符串的每个字符都和指定字符比较,相同就加1。 - 输出
cnt。
参考代码
// 找到指定字符出现的次数:统计指定字符在一行字符串中出现的次数 #include <iostream> #include <string> using namespace std; int main(){ string s,t; getline(cin,s); // 第一行:字符串(可含空格) getline(cin,t); // 第二行:要找的那个字符 char c=t[0]; // 取该行第一个字符 int cnt=0; for(int i=0;i<s.size();i++) if(s[i]==c) cnt++; // 和指定字符相同就计数 cout<<cnt<<'\n'; return 0; }复杂度分析
- 时间复杂度:O(L),L 是字符串长度(不超过500)。我们把字符串从头到尾扫一遍。
- 空间复杂度:O(L),用来存字符串。
- 读入字符串。 第一行用
- 1