文章
20
粉丝
130
获赞
2
访问
11.7k
#include<bits/stdc++.h>
using namespace std;
void pd(string s);
int main()
{
/*
1、使用stak栈模拟匹配括号,[] () {} <> {[(<>)]}; 将数组s中括号放入栈p中
2、如果栈顶部元素与下一个入栈元素匹配:"(" 与 ")",或者"["与"]",则出栈,反之入栈
3、最后栈空,则说明匹配
4、从外到内的括号嵌套顺序为:大括号->中括号->小括号->尖括号
5、进栈时判断优先级,不符合直接结束 {[(<>)]}; 只需要判断{[(<的情况
6、注意要清空栈
*/
int n;
string s;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>s;
pd(s);
}
return 0;
}
void pd(string s)
{
stack<char> stp;
//cout<<s<<endl;
for(int i=0;i<s.size();i++)
{
if(!stp.empty())
{//非空
&n...
登录后发布评论
暂无评论,来抢沙发