当前位置:   article > 正文

数据结构实验之栈与队列四:括号匹配

数据结构实验之栈与队列四:括号匹配

数据结构实验之栈与队列四:括号匹配

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic

Problem Description

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

Input

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

Output

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

Sample Input

sin(20+10)
{[}]

Sample Output

yes
no
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. char str[110];
  6. while(gets(str))
  7. {
  8. //getchar();
  9. char stak[110];
  10. int cnt = 0;
  11. int flag = 0;
  12. for(int i = 0; i < strlen(str); i++)
  13. {
  14. if(str[i] == '(' || str[i] == '{' || str[i] == '[')
  15. {
  16. stak[cnt++] = str[i];
  17. }
  18. if(str[i] == ')')
  19. {
  20. if(stak[cnt-1] != '(')
  21. {
  22. flag = 1;break;
  23. }
  24. else
  25. cnt--;
  26. }
  27. if(str[i] == '}')
  28. {
  29. if(stak[cnt-1] != '{')
  30. {
  31. flag = 1;break;
  32. }
  33. else
  34. cnt--;
  35. }
  36. if(str[i] == ']')
  37. {
  38. if(stak[cnt-1] != '[')
  39. {
  40. flag = 1;break;
  41. }
  42. else
  43. cnt--;
  44. }
  45. }
  46. if(!flag && !cnt)
  47. printf("yes\n");
  48. else
  49. printf("no\n");
  50. }
  51. return 0;
  52. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/668303
推荐阅读
相关标签
  

闽ICP备14008679号