题目描述
计算字符串最后一个单词的长度,单词以空格隔开。
输入描述:
一行字符串,非空,长度小于5000。
输出描述:
整数N,最后一个单词的长度。
示例:
输入:hello world
输出:5
解题思路
在写代码之前,首先得认识一下string类的一些接口
函数名称 | 功能说明 |
---|---|
size_t find(char c, size_t pos = 0)const | 从字符串pos位置开始往后找字符c,返回该字符在字符串中的位置 |
size_t rfind(char c, size_t pos = npos) | 从字符串pos位置开始往前找字符c,返回该字符在字符串中的位置 |
本题中我们要用到的就是rfind()函数。从字符串的最后一个字符向前找到第一个’ ‘,这时’ '后的字符就是字符串中的最后一个单词。
完整代码
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
while(getline(cin, str))
{
size_t pos = str.rfind(' ');
cout << str.size() - pos - 1 << endl;
}
return 0;
}