top1编程
← 返回题目
题解

遍历字符串

1 条题解

  • 0
    @ 2026-8-5 12:17:20

    解题思路

    "遍历字符串"就是一个一个字符地看过去,访问字符串中的每一个有效字符。

    在 C++ 里:

    • 用 string 类型保存字符串;
    • s.size() 可以得到字符串的长度(有几个字符);
    • 用 for 循环让 i 从 0 走到 s.size()-1,s[i] 就是第 i 个字符。

    输出要求:每个字符后面用空格隔开。做法是:不是第一个字符时,先输出一个空格,再输出当前字符。这样最后一个字符后面就不会有多余的空格。

    用样例验证:abcde 遍历输出,i=0 时直接输出 a,之后每个字符前都加一个空格,得到 a b c d e,和样例一致。

    参考代码

    #include <iostream>
    using namespace std;
    // 用途:依次输出字符串中的每一个有效字符,字符之间用空格隔开
    int main() {
        string s;
        cin >> s;                          // 读入字符串(不含空格)
        for (int i = 0; i < s.size(); i++) {
            if (i > 0) cout << ' ';        // 不是第一个字符时,先输出一个空格
            cout << s[i];                  // 输出当前字符
        }
        cout << endl;
        return 0;
    }
    

    复杂度分析

    • 时间复杂度:每个字符被访问一次,字符串长度不超过 1000,所以是 O(n),其中 n 是字符串长度。
    • 空间复杂度:用一个字符串存输入,是 O(n)。

    这个操作非常简单,无论多长的字符串都能很快遍历完。

    • 1