描述:
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例1
输入:hello nowcoder
输出:8
说明:最后一个单词为nowcoder,长度为8
我的代码(C++)
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string input;
// 学习一下怎么获取一行字符串输入
std::getline(std::cin, input);
std::vector<char> vec(input.begin(), input.end());
int j=0;
for(int i=vec.size()-1;i>=0;i--){
if (vec[i] == ' '){
cout << j;
break;
}else{
if(i>0){
j++;
continue;
}
else{
// 注意考虑字符串里只有一个单词的情况
cout << vec.size();
}
}
}
}
执行情况
时间:3ms
内存:400KB
我的感想
没学过c++,但是做了一段时间项目,就嗯写,嗯。
这道题最主要的收获就是用getline获取一行输入吧。用cin >> string只能获取一个单词。顺便要注意没有空格,即只有一个单词的情况,一开始我也没考虑到。顺便我就是很喜欢vector啦,普通数组啥的反而不咋用,不会捏。