HJ1 字符串最后一个单词的长度

描述:
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于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啦,普通数组啥的反而不咋用,不会捏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值