目录
队列模拟栈
queue<int> que;
void push(int x)
{
que.push(x);
}
int pop()
{
int n=que.size();
size--;
while(size--)
{
que.push(que.front());
que.pop()
}
int ans=que.front();
que.pop();
return ans;
}
int top()
{
return que.back();
}
bool empty()
{
return que.empty();
}
有效的括号
判断栈是否为空很重要,因为执行栈操作的前提是栈不为空
stack<char> ans;
for(int i=0;i<s.length();i++)
{
if(s[i]=='(') ans.push(')');
else if(s[i]=='[') ans.push(']');
else if(s[i]=='{') ans.push('}');
else if(ans!=empty()||ans.top()!=s[i]) return false;
else ans.pop();
}
return ans.empty();