• 括号匹配


    假设一个算术表达式中可以包含三种括号:圆括号“(”和“)”,方括号“[”和“]”和花括号“{”和“ ”,且这三种括号可按任意的次序嵌套使用(如:…[…{… …[…]…]…[…]…(…)…)。编写判别给定表达式中所含括号是否正确配对出现的算法。输出结果YES 或者 NO。

    Input

    5+{[2X5]+2}

    Output

    YES

    Sample Input

    8-[{2+7]}

    Sample Output

    NO
    #include <iostream>
    #include <stack>
    using namespace std;
    stack<char> a;
    #include <stdio.h>
    #include <string.h>
    int main()
    {
       int i,n,p=0,q=0;
       char s[1000],b;
       gets(s);
       n=strlen(s);
       for(i=0;i<n;i++)
        {
           if(s[i]=='{'||s[i]=='['||s[i]=='(')
               a.push(s[i]);
           if(s[i]=='}')
           {
               if(a.empty())
               {
                    p=1;
                    break;
               }
               b=a.top();
               if(b=='{')
                   a.pop();
               else
               {
                    p=1;
                    break;
               }
           }
           if(s[i]==']')
           {
               if(a.empty())
               {
                    p=1;
                    break;
               }
               b=a.top();
               if(b=='[')
                    a.pop();
               else
               {
                    p=1;
                    break;
               }
           }
           if(s[i]==')')
           {
               if(a.empty())
               {
                    p=1;
                    break;
               }
               b=a.top();
               if(b=='(')
                    a.pop();
               else
               {
                    p=1;
                    break;
               }
           }
        }
       if(!a.empty())
           q=1;
       if(p==1||q==1)
           printf("NO
    ");
       else
           printf("YES
    ");
       return 0;
    }
  • 相关阅读:
    leetcode 414
    Leetcode 495
    Leetcode 485题
    Python 24点(2)
    python 24点
    我的第一次作业
    Django
    multiprocessing模块
    遍历文档树
    shutil模块
  • 原文地址:https://www.cnblogs.com/zcy19990813/p/9702798.html
Copyright © 2020-2023  润新知