题解
统计空格
1 条题解
-
0
解题思路
题目让我们数一数一个字符串里有多少个空格。这个字符串里可能有很多空格,所以要用
getline读整行。方法非常简单:用一个计数器
cnt,从 0 开始,把字符串从头到尾扫描一遍,每遇到一个字符是空格' ',就把cnt加 1。最后输出cnt。注意:因为字符串里有空格,一定不能用
cin >> s读(那样只会读到空格前的部分),必须用getline(cin, s)读整行。拿样例
There are 5 apples and 8 oranges来说,数一数里面有 6 个空格,所以输出 6。参考代码
// 用途:统计字符串中空格的个数 #include <iostream> #include <string> using namespace std; int main(){ string s; getline(cin,s); // 字符串含空格,必须用getline int cnt=0; for(char c:s) if(c==' ') cnt++; // 是空格就计数加1 cout<<cnt<<endl; return 0; }复杂度分析
- 时间:把字符串从头到尾扫描一遍,时间复杂度是 O(n),n 是字符串长度(不超过 1000)。
- 空间:只用一个字符串和一个计数器,空间复杂度是 O(1)。
- 1