zoukankan      html  css  js  c++  java
  • ---------很简单的 一道 堆栈问题-------

    1098: 括号配对问题
    时间限制: 1 Sec  内存限制: 128 MB
    提交: 9  解决: 5
    [提交][状态][讨论版]
    题目描述
    现在,有一行括号序列,请你检查这行括号是否配对.
    
    输入
    第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符.
    
    输出
    每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No.
    
    样例输入
    3
    [(])
    (])
    ([[]()])
    样例输出
    No
    No
    Yes

    很简单的一道题   就是纯 堆栈问题    很适合 用于  理解堆栈的  例题  下面附上代码.

     1 #include<stdio.h>
     2 int main()
     3 {
     4     int n,i,j,top,flag;
     5     char s[10000],st[5000];
     6     char c;
     7     scanf("%d
    ",&n);
     8     for(i=1; i<=n; i++)
     9     {
    10         top=-1;
    11         scanf("%s",s);
    12         flag=0;
    13         for(j=0; c=s[j]; j++){
    14             if(c=='[' || c=='(')
    15             { //遇到左括号,则存入数组st(模拟栈操作——进栈)
    16                 top++;
    17                 st[top]=c;
    18             }
    19             else
    20             { //遇到右括号,检查匹配情况
    21                 if(top<0)
    22                 { 
    23                     flag=1;
    24                     break;
    25                 } //栈为空,不匹配,跳出循环
    26                 if(c==']' && st[top]=='[' || c==')' && st[top]=='(') //与栈顶匹配,——退栈
    27                     top--;
    28                 else //与栈顶不匹配,跳出循环
    29                 {
    30                     flag=1;
    31                     break;
    32                 }
    33             }
    34         }
    35         if(flag || top>=0)
    36             printf("No
    ");
    37         else 
    38             printf("Yes
    ");
    39     }
    40     return 0;
    41 }
  • 相关阅读:
    人生苦短之我用Python篇(遍历、函数、类)
    Python基础篇
    OSPF 配置
    RIPng 知识要点
    RIP 知识要点
    Cisco DHCP 配置要点
    python读取mat文件
    theano提示:g++ not detected的解决办法
    Can Microsoft’s exFAT file system bridge the gap between OSes?
    matlab 大块注释和取消注释的快捷键
  • 原文地址:https://www.cnblogs.com/A-FM/p/5157457.html
Copyright © 2011-2022 走看看