文章

20

粉丝

130

获赞

2

访问

10.5k

头像
括号的匹配 题解:
799 VIP
P1067 中山大学2019年机试题
发布于2024年3月9日 22:02
阅读数 722

#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...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发