欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(带思路, 详解) LeetCode 557 : 翻转字符串中的单词3

程序员文章站 2022-06-11 10:35:34
...

(带思路, 详解) LeetCode 557 : 翻转字符串中的单词3

class Solution {
public:
    string reverseWords(string s) {
        //循环查找空格, 然后翻转中间的内容

        size_t begin = 0;
        size_t pos = 0;
        string::iterator it = s.begin();

        //循环查找空格, 翻转单词, 最后剩下一个待处理
        while(pos < s.size()) {
            begin = pos;
            //找空格
            pos = s.find(" ", begin);
            if(pos != string::npos) {
                //找到空格, 翻转单词
                reverse(it + begin, it + pos);
                pos++;
            }
            else {
                //没找到的话pos为-1, 重新给pos赋值, 处理最后一个单词
                pos = begin;
                break;
            }
        }

        //翻转最后一个单词
        reverse(it + pos, s.end());
        return s;
    }
};
相关标签: OJ题目