top1编程
← 返回题目
题解

找到指定字符出现的次数

1 条题解

  • 0
    @ 2026-8-5 10:29:40

    解题思路

    这是最基础的"数一数"问题:给一行字,再给一个指定的字符,数一数这个字符在这行字里出现了几次。

    步骤:

    1. 读入字符串。 第一行用 getline 读入,因为字符串里可能有空格。
    2. 读入要查找的字符。 第二行读入那个字符。为了稳妥,我们也用 getline 读一行,然后取它的第一个字符 t[0]。这样做的好处是:就算题目要查找的字符恰好是一个空格,也不会被读丢。
    3. 遍历字符串计数。 用一个变量 cnt 从0开始,把字符串的每个字符都和指定字符比较,相同就加1。
    4. 输出 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