
[每日一题] 4. 倒置字符串(字符串、OJ技巧)
#include #include
发布日期:2021-05-12 23:13:43
浏览次数:20
分类:精选文章
本文共 900 字,大约阅读时间需要 3 分钟。
列文优化版本
问题分析
本问题要求将一段话中的单词进行倒置,标点符号保持不变。例如,将"I like beijing."倒置后变为"beijing. like I"。输入是一个单词组成的句子,长度不超过100个字符。
解题思路
该问题可以通过两种方法来解决:
**第一种方法**:将整个字符串倒置,然后逐个单词倒置。这种方法利用了STL中的`reverse`函数,代码实现相对简洁且高效。 **第二种方法**:直接读取输入,将单词逐个倒置后拼接起来。这种方法通过逐个处理字符串,节省了内存空间,但代码逻辑稍微复杂。代码实现
**第一种方法的代码示例**: ```cpp #includeusing namespace std;
int main() {
string mys; getline(cin, mys); reverse(mys.begin(), mys.end()); auto start = mys.begin(); while (start != mys.end()) { auto end = start; while (end != mys.end() && *end != ' ') end++; reverse(start, end); if (end != mys.end()) start = end + 1; else start = end; } cout << mys << endl; return 0; }**第二种方法的代码示例**: ```cpp #include#include using namespace std; int main() { string mys1, mys2; cin >> mys2; while (cin >> mys1) mys2 = mys1 + ' ' + mys2; cout << mys2 << endl; return 0; }
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2025年05月18日 20时20分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
makefile工作笔记0003---Makefile的ifeq逻辑或,逻辑与的变通实现
2025-04-11
Makefile遗漏分隔符错误解决
2025-04-11
Making the Grade [POJ3666] [DP]
2025-04-11
malloc和定位new表达式
2025-04-11
Malor Mass(分子量)
2025-04-11
MAMP无法正常启动,错误提示The built-in Apache is active
2025-04-11
mamp环境下navicat无法链接本地mysql
2025-04-11
Managing CentOS/RHEL kernel modules.
2025-04-11
Mangoa-Auth/芒果自助多应用企业级授权系统拥有盗版入库、远程更新等功能
2025-04-11
MangoDB4.0版本的安装与配置
2025-04-11
Manjaro 24.2 “Yonada” 发布:尖端功能与精美界面再度进化
2025-04-11
Manjaro Linux 推出新不可变版本:扩展产品范围,开放社区反馈和测试
2025-04-11
map 函数返回的列表在使用一次后消失
2025-04-11
Map 遍历取值及jstl的取值
2025-04-11
Mapbox GL示例教程【目录】-- 已有80篇
2025-04-11
Mapbox TOKML:将GeoJSON转换为KML的开源工具
2025-04-11
mapper.xml中mapper找不到问题
2025-04-11