题目链接
题目思路:对栈的运用
撤销可以通过栈的pop()来实现,str.erase()是新学到的知识,原来字符串还有删除指定部分字符串的函数
str.erase(x,y); 删除字符串str从第x开始的y个字符
代码实现
#include<bits/stdc++.h>
using namespace std;
int t;
string tmp,in;
int num;
int main()
{
int q;
while(cin>>q){
stack<string> str;
while(q--)
{
cin>>t;
if(t==1)
{
cin>>in;
if(!str.empty())
str.push(str.top()+in);
else str.push(in);
}
else if(t==2)
{
cin>>num;
in=str.top();
in.erase(in.size()-num,num);
str.push(in);
}
else if(t==3)
{
cin>>num;
in=str.top();
cout<<in[num-1]<<endl;;
}
else if(t==4)
str.pop();
}
}
return 0;
}
京公网安备 11010502036488号