文章

61

粉丝

137

获赞

18

访问

40.0k

头像
C++,偷懒简洁高效版,直接用reverse()、replace()函数一步搞定字符串的翻转和替换
推荐阅读
P1387 北京邮电大学
发布于2024年2月2日 12:08
阅读数 948

#include<bits/stdc++.h>
using namespace std ;

int main(){
    int n ;      //指令条数
    string s ;      //字符串
    string instruct ;     //指令

    while(cin >> s){
        cin >> n ;
        for(int i = 0 ;i < n ;i++){
            cin >> instruct ;
            int bgn = instruct[1] - '0' ;       //开始操作下标
            int len = instruct[2] - '0' ;       //操作长度
            if(instruct[0] == '0'){        //翻转
                reverse(s.begin() + bgn ,s.begin() + bgn +len) ;
            }else if(instruct[0] == '1'){       //替换
                string rps = instruct.substr(3 ,instruct.length() - 3) ;      //获得用于替换的子串个,
                s.replace(  bgn ,len ,rps) ;        // 这里需要注意的是第二个参数是指被代替的子串长度,用于替换的子串的长度可以是任意长度
            }
            cout << s << endl ;
        }
    }
    
    return 0 ;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发