【C++习题】10.反转字符串中的单词 lll

题目:

链接🔗:557.反转字符串中的单词 lll

题目:


代码:

cpp 复制代码
class Solution {
public:
    void Reverse(string &s, int start, int end)
    {
        char tmp;
        while(start < end)
        {
            tmp = s[start];
            s[start] = s[end];
            s[end] = tmp;

            start++;
            end--;
        }
    }

    string reverseWords(string s) 
    {
        size_t start = 0;
        size_t end = 0;
        while(start < s.size())
        {
            end = s.find(' ', start);
            if(end == string::npos)
            {
                end = s.size();
                break;
            }
            Reverse(s, start, end-1);
            start = end+1;
        }
        Reverse(s, start, end-1);
        return s;
    }
};
相关推荐
H.莓飛7 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
wangchunyu1148 小时前
JAVA AQS与Lock实现原理(含CAS)
java·开发语言·word
爱喝水的鱼丶9 小时前
SAP-ABAP:ECC→S/4HANA ABAP 迁移升级指南——程序改造、语法兼容与性能优化 导语
运维·开发语言·性能优化·sap·abap·经验交流·开发交流
小灰灰搞电子9 小时前
Rust+Slint 实现FTP客户端调试助手源码分享
开发语言·后端·rust
外收内放9 小时前
面向对象高级(实战案例)
开发语言·python·学习
·present·10 小时前
CSAPP(lecture 4_01)
c语言·c++
FPGA小迷弟10 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
c++·python·ai·plotly·django·ai编程·claude
fanruitian10 小时前
python else用法
开发语言·python
程序员-King.11 小时前
【ROS1】Noetic 开发工作流程与常用命令
c++·ubuntu·ros
FRing0311 小时前
JavaScript入门到精通二十六(变量提升、函数剩余参数、展开运算符、ES6箭头函数)
开发语言·前端·javascript·es6·箭头函数