LeetCode-Number_of_Segments_in_a_String

题目:

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.

Example:

Input: "Hello, my name is John"
Output: 5


翻译:

计算一个字符串中段的个数,其中,段被定义为非空格字符的连续序列。

请注意该字符串不包含任何不可打印的字符。

例子:

输入: "Hello, my name is John"
输出: 5


思路:

首先再字符串 s 的最后加入一个空格 ' ',然后从 s 的开头开始计数,若 s[i]==' ' ,而 s[i-1]!=' ',那么结果count+1。


C++代码(Visual Studio 2017):

#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

class Solution {
public:
	int countSegments(string s) {
		s.push_back(' ');
		int count = 0;
		if (s.size() <= 0)
			return 0;
		for (int i = 1; i < s.size(); i++) {
			if ((s[i] == ' ') && (s[i - 1] != ' '))
				count++;
		}
		return count;
	}
};

int main()
{
	Solution s;
	int result;
	string str = " ";
	result = s.countSegments(str);
	cout << result;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/tel_annie/article/details/80322786