zoukankan      html  css  js  c++  java
  • 括号匹配

                                 括号匹配

    题目描述

     给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。

    输入

     输入数据有多组,处理到文件结束。

    输出

     如果匹配就输出“yes”,不匹配输出“no”

    示例输入

    sin(20+10)
    {[}]

    示例输出

    yes
    no


    #include<stdio.h>
    #include<string.h>
    int main()
    {
        char s[100000], q[10000];
        int i, j, k, flag;
        while(gets(s)!=NULL)
        {
            flag = 0;
            j = 1;
            memset(q, 0, sizeof(q));
            for(i=0; i<strlen(s); i++)
            {
                if(s[i]=='(' || s[i]=='{' || s[i]=='[')
                    q[j++] = s[i];
                else if(s[i]==')')
                {
                    if(q[j-1]==0){ flag=1; break;}
                    if(q[j-1]=='(')
                    {
                        q[j-1] = 0;
                        j--;
                    }
                    else
                    {
                        flag =1;
                        break;
                    }
                }
                else if(s[i]=='}')
                {
                    if(q[j-1]==0) {flag =1; break;}
                    if(q[j-1]=='{')
                    {
                        q[j-1] = 0;
                        j--;
                    }
                    else
                    {
                        flag =1;
                        break;
                    }
    
                }
                else if(s[i]==']')
                {
                    if(q[j-1]==0) {flag =1; break;}
                    if(q[j-1]=='[')
                    {
                        q[j-1] = 0;
                        j--;
                    }
                    else
                    {
                        flag =1;
                        break;
                    }
                }
                if(flag==1) break;
            }
            if(flag==0 && q[1]==0)
                printf("yes
    ");
            else printf("no
    ");
        }
        return 0;
    }
    View Code
    每天训练发现我比别人做的好慢,但是理解的更深刻,如果一开始学一个新知识点就搜模板,那么这样的人是走不远的,毕业之后带走的只有思维,什么荣誉,奖杯都已经不重要了。
  • 相关阅读:
    WalkDirFiles
    http://ocpj8.javastudyguide.com/
    打印文件夹中的文件
    apple
    JDBC
    JDBC connection
    Properties-getProperty
    删除目录中指定文件
    spark 之knn算法
    hbase查询基于标准sql规范中间件Phoenix
  • 原文地址:https://www.cnblogs.com/6bing/p/4113843.html
Copyright © 2011-2022 走看看