zoukankan      html  css  js  c++  java
  • 括号配对问题_栈<stack>

    问题 A: 括号配对问题

    时间限制: 3 Sec  内存限制: 128 MB
    提交: 3  解决: 2
    [提交][状态][讨论版]

    题目描述

    现在,有一行括号序列,请你检查这行括号是否配对。

    输入

    第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符

    输出

    每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No

    样例输入

    3
    [(])
    (])
    ([[]()])

    样例输出

    No
    No
    Yes

    解题思路:用c++的库函数,直接建立一个栈,然后模拟配对过程。
    代码:
    #include <iostream>
    #include <cstdio>
    #include <stack>
    
    using namespace std;
    
    int main()
    {
        int n;
        char ch;
        string l;
        stack<char> st1;
        scanf("%d",&n);
    
        for(int i=0;i<n;i++){
            getchar();
            while(1){
                ch=getchar();
                if(ch=='['||ch=='('){
                    st1.push(ch);
                }else{
                    if(ch==']'){
                        if(st1.top()=='['){
                            st1.pop();
                        }else{
                            printf("No
    ");
                            //getchar();
                            cin>>l;
                            break;
                        }
                    }
                    if(ch==')'){
                        if(st1.top()=='('){
                            st1.pop();
                        }else{
                            printf("No
    ");
                            //getchar();
                            cin>>l;
                            break;
                        }
                    }
                }
    
                if(ch!='['&&ch!=']'&&ch!='('&&ch!=')'){
                    printf("Yes
    ");
                    break;
                }
    
            }
    
        }
        return 0;
    }



  • 相关阅读:
    DOM
    JS方法
    边界与边框,列表与方块
    for 练习
    背景与前景温习
    AD域账号验证
    邮件发送案例
    获取每个月最后一天的小技巧
    SQL 执行顺序
    常用下载地址
  • 原文地址:https://www.cnblogs.com/TWS-YIFEI/p/5776452.html
Copyright © 2011-2022 走看看