行编辑器 HRBUST - 2301 (栈 难度1) - 详细题解

题目链接
在这里插入图片描述
栈的一道基础题目, 其实用vector更加方便

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <stdlib.h>
#include <vector>
#include <queue>
#include <cmath>
#include <stack>
#include <map>
using namespace std;
#define ms(x, n) memset(x,n,sizeof(x));
typedef  long long LL;
const LL maxn = 1e6+10;

int main()
{
    int T;
    cin >> T;
    getchar();
    while(T--) {
        vector<char> ans;
        string input;
        getline(cin, input);

        for(int i = 0; i < input.size(); i++){
            if(!ans.empty() && input[i]=='#')
                ans.pop_back();
            else if(!ans.empty() && input[i]=='@')
                ans.clear();
            else
                ans.push_back(input[i]);
        }

        for(int i = 0; i < ans.size(); i++)
            cout << ans[i];
        cout << endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/a1097304791/article/details/85052830