倒置字符串(牛客)

一、题目

倒置字符串(牛客)_第1张图片

二、代码

#include 
#include
using namespace std;

int main() {
    string s;
    getline(cin, s);
    string s2;
    int i = s.length() - 1;
    int prev = i;
    int next = 0;
    while (i >= 0 && prev >= 0) { //从字符串的最后往前遍历
        if (s[prev] != ' ') {
            next = prev;
            --prev;
        } else {
            s2 += s.substr(next, i - next + 1);
            s2 += ' ';
            i = prev - 1;
            prev = i;
            next = i;
        };
    }

    s2 += s.substr(next, i - next + 1); //注意跳出循环后的第一个子串
    cout << s2;
    return 0;
}
// 64 位输出请用 printf("%lld")

你可能感兴趣的:(牛客/力扣,c++,算法,数据结构)