测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A27205. 字符操作

填空题 较难

题目描述

字符操作

题目描述

从前有一个叫做小 A 的字符串,它住在编程世界的字符村。小 A 喜欢和其他字符交朋友,比如空格、逗号和字母B。有一天,小A遇到了一个神秘的函数,这个函数告诉它,只要加入更多的字符,就能变成更强大的字符串。于是,小A开始了冒险,结识了字符’1’、符号#,甚至还有换行符’\n’。最终,小A成为了一个长长的、有意义的句子,实现了自己的梦想。在这个过程中,小A明白了合作的重要性,也找到了自己在代码中的位置。小A在旅途中遇到了很多字符串 str,随着小A不断的结交朋友,它的长度也逐渐变长,具体有两种变长操作:

F str:前插入。表示在字符串小A前面插入字符串 str。

B str:后插入。表示在字符串小A后面插入字符串 str。

R:表示反转整个字符串。

规定字符串小A的初始模样和每次操作的 str 都不含空格或换行。

请你计算出字符串小A旅途结束后的模样。

输入

输入共 n+2 行:

第一行,输入一个正整数 n,表示操作次数;

第二行,输入一个字符串 str,表示文档最开始的字符串;

从第三行开始,往下n行,每行表示一个操作。

保证操作次数 1<=n<=1000,字符串小A的初始长度和每次插入的字符串 str 的长度均不大于 100。

输出

输出只有一行,一个字符串。

样例:

输入

 3
​Tom
​F ht
​B ut
​R

输出

​tumoTth

参考答案

#include<bits/stdc++.h> using namespace std; //方法:按题意模拟 int n; string str; int main(){ cin>>n; cin>>str; while(n--){ char c; string str2; cin>>c; if(c=='F'){//操作类型1:str前插入 cin>>str2; str=str2+str; //将str拼接到str2后面 //str.insert(0,str2);//也可以使用插入函数 }else if(c=='B'){//操作类型2:str后插入 cin>>str2; str+=str2;//将str2拼接到str后面 }else{//操作类型3:反转 reverse(str.begin(),str.end());//使用反转函数 } } cout<<str; return 0; }
上一题 下一题