• 括号配对问题(一)


    Description
    现在有一种只包括左右小括号(“(”和“)”)和空格(” “)的字符串序列,请你判断括号是否匹配,如果匹配就输出Yes,不匹配输出No。

    Input
    输入数据第一行输入一个T(0≤T≤100),表示测试数据的组数。

    接下来有T行测试数据,每行有一个符合题意的字符串,字符串长度不超过500。

    Output
    每组测试数据,先输出一个”Case %d:“,%d表示第几组测试数据。接着,如果字符串括号匹配,输出Yes,否则,输出No。具体输出格式参考下面输出样例。

    Sample Input
    2
    ( ())
    )(
    Sample Output
    Case 1:Yes
    Case 2:No

     1 #include<iostream>
     2 #include<stack>
     3 #include<stdio.h>
     4 #include<string.h>
     5 using namespace std;
     6 int main()
     7 {
     8     int t,len,i,j,flag;
     9     char x[601];
    10     scanf("%d",&t);
    11     getchar();
    12     j=1;
    13     while(t--)
    14     {
    15         gets(x);
    16         len=strlen(x);
    17         stack<char>s;
    18         for(i=0; i<len; i++)
    19         {
    20                 if(x[i]=='(')
    21                     s.push(x[i]);///压入栈
    22                 if(x[i]==')')
    23                 {
    24                     if(s.empty())
    25                     {
    26                         break;
    27                     }
    28                      else
    29                         s.pop();///出栈
    30                 }
    31         }
    32         if(s.empty()&&i>=len)
    33             printf("Case %d:Yes
    ",j);
    34         else
    35             printf("Case %d:No
    ",j);
    36         j++;
    37   
    38     }
    39     return 0;
    40 }

      

  • 相关阅读:
    最长回文字符(需要补)
    无重复字符的最长子串
    两数之和——链表
    两个数之和
    android 动画基础绘——帧动画(三)
    android 动画基础绘——view 动画(二)[补]
    android 动画基础绘——view 动画
    全国疫情精准定点动态更新(.net core)
    桶排序
    计数排序
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/8667039.html
Copyright © 2020-2023  润新知