题解 | #字符串最后一个单词的长度#

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

https://www.nowcoder.com/practice/8c949ea5f36f422594b306a2300315da

#include <iostream>
#include <string>

using namespace std;

int main() {
    string s;
    int length=0;
    bool a=false;
    getline(cin,s); // 获取一行输入
    for(int i=s.length()-1;i>=0;i--){//// 从字符串的最后一个字符开始向前遍历 [1] 
        if(s[i] == ' '){  //注意 这里是用i遍历s的每一个字符,s[i]是第i个字符
            if(a) // 遇到空格并且已经找到了部分单词长度,说明已找到最后一个单词
            	break; 
        }else {
            a=true;
            length++;// 如果不是空格,则增加单词长度计数
        }
    }
    cout<<length<<endl;
return 0;
}
// 64 位输出请用 printf("%lld")

[1] 在C++中,字符串的索引是从0开始的。这意味着对于一个长度为 n 的字符串,其第一个字符的索引是0,而最后一个字符的索引是 n-1

当我们需要从字符串的末尾向前遍历时,我们需要从最后一个字符的位置开始,也就是索引 n-1。因此,在初始化循环变量 i 时,我们使用 str.length() - 1 来获取最后一个字符的索引。

具体来说,假设有一个字符串 "hello",其长度为5。那么:

  • 第一个字符 h 的索引是0。
  • 最后一个字符 o 的索引是4。
全部评论

相关推荐

02-26 09:15
已编辑
蚌埠学院 golang
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务