题解
遍历字符串
1 条题解
-
0
解题思路
"遍历字符串"就是一个一个字符地看过去,访问字符串中的每一个有效字符。
在 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