利用栈来进行模拟解决
#include<bits/stdc++.h>
using namespace std;
int main()
{
stack<char>s;//创建栈
string a;
char b;
cin>>a;
for(int i=0;i<a.size();i++)
{
b=a[i];
if(b=='b'&&!s.empty()&&s.top()=='a')//b前应该有a,如果栈顶为a则弹出,视为配对
{
s.pop();
}
else
{
s.push(b);
}
}
if(s.empty())//栈空则说明都为配对,即为插入形成
{
cout<<"Good";
}
else
{
cout<<"Bad";
}
}

京公网安备 11010502036488号