关注
您的代码中有几个需要修改的地方,主要是关于使用 C++20 引入的 std::views::reverse 视图和如何正确地从字符串中反向遍历以找到最后一个单词的长度。std::views::reverse 是 C++20 标准库中的一部分,它返回一个反向视图,但您需要确保您的编译器支持 C++20 并且正确地设置了编译选项。
然而,std::views::reverse 返回的是一个反向视图,而您试图直接在范围 for 循环中使用这个视图遍历字符,这实际上并不直接可行,因为您还需要对字符进行迭代。您可以通过 std::views::transform 来转换字符,但在这个场景下,更简单的解决方案是使用 std::string::rbegin() 和 std::string::rend() 来反向迭代字符串。
以下是修改后的代码:
cpp
#include <iostream>
(30316)#include <string>
using namespace std;
int main()
{
string s;
getline(cin, s);
size_t lastWordLen = 0;
bool inWord = false; // 用于标记是否处于单词中
for (auto it = s.rbegin(); it != s.rend(); ++it) {
if (*it == ' ') {
if (inWord) {
// 如果之前处于单词中,现在遇到空格,则结束循环
break;
}
} else {
inWord = true; // 遇到非空格字符,标记为在单词中
++lastWordLen;
}
}
cout << lastWordLen << endl;
return 0;
}
这个修改后的版本使用了字符串的反向迭代器 std::string::rbegin() 和 std::string::rend() 来从后向前遍历字符串。我们还增加了一个布尔变量 inWord 来跟踪是否正在处理一个单词。当遇到空格且 inWord 为 true 时,我们知道已经找到了最后一个单词的末尾,可以结束循环。
注意:如果您的编译器不支持 C++20 或您不想使用范围库,这种方法是一个很好的替代方案。如果您的编译器支持 C++20 并且您更喜欢使用现代 C++ 特性,您可以通过其他方式(如使用 std::views::reverse 结合适当的转换或适配器)来实现,但上述解决方案更加简单和直接。
点赞
相关推荐
点赞 评论 收藏
分享


点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... HR面,到底该准备些啥(附核心问题回答思路)1.8W
- 2... 懂车帝二面 2025.10.11 1h32min4706
- 3... 除了卷大厂,还有其他出路吗。。。4706
- 4... 双非秋招timeline供参考(腾讯字节阿里快手美团)3242
- 5... 牛牛求救🆘,不敢梭哈后端第二技能点怎么搭配3234
- 6... 小红书一面面经2918
- 7... 10.12pdd笔试大鸭蛋2563
- 8... 10.12 拼多多技术岗笔试 第二题 求教2456
- 9... 第一次去北京那么远的地方实习,心里总是不安,大家会有这种感觉吗?2449
- 10... 华为10月10号考的手写LSTM被压中了2145
正在热议
更多
# 面包vs爱情,怎么选? #
8928次浏览 98人参与
# 职场新人体验 #
84304次浏览 598人参与
# 深信服秋招来了 #
279795次浏览 2915人参与
# 实习生如何通过转正 #
104307次浏览 1395人参与
# tplink提前批进度交流 #
207186次浏览 1506人参与
# 安克创新求职进展汇总 #
54024次浏览 529人参与
# 爱玛科技集团求职进展汇总 #
27495次浏览 197人参与
# Tplink求职进展汇总 #
180516次浏览 912人参与
# 秋招结束之后的日子 #
86461次浏览 977人参与
# 面试被问“你的缺点是什么?”怎么答 #
154945次浏览 2161人参与
# 贝壳求职进展汇总 #
34731次浏览 184人参与
# 硬件/芯片公司岗位评价 #
8409次浏览 28人参与
# Offer比较,你最看重什么? #
215374次浏览 1390人参与
# 互联网公司爆料 #
144770次浏览 708人参与
# 招银网络求职进展汇总 #
168748次浏览 993人参与
# 联影求职进展汇总 #
43138次浏览 284人参与
# 华为海思工作体验 #
29156次浏览 120人参与
# 新凯来求职进展汇总 #
49975次浏览 128人参与
# 材料进Fab厂真的劝退吗? #
56188次浏览 204人参与
# 五一之后,实习真的很难找吗? #
88111次浏览 556人参与
# 应届生,你找到工作了吗 #
69144次浏览 459人参与
# 总结:哪家公司最喜欢泡池子 #
144147次浏览 520人参与