初学stl 第一次解决栈相关的问题 写题解防止遗忘
#include<bits/stdc++.h>
using namespace std;
int main() {
string s;
cin>>s;
stack<char>stk;//构建stack容器
int i;
int flag=1;
for(i=0;i<s.size();i++)
{
if(s[i]=='a') stk.push(s[i]);//使a入栈
else
{
if(stk.empty())//s[i]为b时判断是否有a 若没有则直接break————防止出现abbb类的串
{
flag=0;
break;
}
stk.pop();//遇见b可以使最顶上的a弹出
}
}
if(!stk.empty()) flag=0;//再次判断是否有未匹配的a即防止aab类字符串出现
if(flag) cout<<"Good";
else cout<<"Bad";
}