2.10 小C的记事本

题目链接

小C的记事本

题目思路:对栈的运用

撤销可以通过栈的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;
}
全部评论

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务