1,题目要求
Count the number of segments in a string, where a segment is defined to be a contiguous sequence of non-space characters.
Please note that the string does not contain any non-printable characters.
将一个字符串以空格的方式进行划分,统计总共的划分的块数。
形如:” “的形式,块数为0。
形如:”apple”的形式,块数为1。
2,题目思路
程序实现起来并不是很困难,只要依次对字符串进行遍历即可,发现空格后就,判断前面的字符是否不是空格,如果不是,则块数加一。
这里面有一个小trick,在对字符串s进行判断时,可以先在s后面加一个空格,这样更方便对空格条件的判断。
3,程序源码
class Solution {
public:
int countSegments(string s) {
int res = 0;
s = s + ' ';
for(int i=1;i<s.size();i++)
{
if(s[i] == ' ' && s[i-1] != ' ')
res++;
}
return res;
}
};