题解 | #单词倒排#

单词倒排

https://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836


#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main(int argc, char* argv[]){
    string str;
    getline(cin, str);

    vector<bool> isAlpha(str.size(), false);
    for(int i = 0; i < str.size(); ++i){
        if(str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z'){
            isAlpha[i] = true;
        }
    }

    string res;
    for(int i = str.size() - 1; i >= 0; --i){
        int end = i;
        while(i >= 0 && isAlpha[i]){
            --i;
        }
        if(end > i){
            res = res + str.substr(i+1, end-i) + " ";
        }
    }

    cout << res << endl;

    return 0;
}
全部评论

相关推荐

头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务