题解 | #单词倒排#

单词倒排

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

#include <algorithm>
#include <iostream>
using namespace std;

int main() {
    string s;
    int flag = 0;
    while (getline(cin,s)) { // 注意 while 处理多个 case
        for(int i = 0;i<s.size();i++){
            if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')){
                flag = 0;
                continue;
            }else{
                if(flag == 1){
                    s.erase(i,1);
                    flag = 1;
                    continue;
                }else{
                    s[i] = ' ';
                    flag = 1;
                    continue;
                }
            }
        }
        if(s[0]==' '){
            s.erase(0,1);
        }
        reverse(s.begin(),s.end());
        int rev_a = 0,rev_b = 0;
        char tem ;

        for(int i = 0;i<s.size();i++){
            if(s[i]!= ' '){
                rev_a = i;
                for(int j = i;j<=s.size();j++){
                    if(s[j] == ' '||j == s.size()){
                        rev_b = j;
                        break;
                    }else{
                        continue;
                    }
                }
                for(int x = rev_a,y = rev_b-1; x<y; x++,y--){
                    s[x] ^= s[y];
                    s[y] ^= s[x];
                    s[x] ^= s[y];
                }
                i = rev_b;
            }else{
                continue;
            }
        }
        cout<<s<<endl;
        rev_a = rev_b = 0;
        flag = 0;
        s.clear();
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
牛客101244697号:这个衣服和发型不去投偶像练习生?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务