问题 A: 括号配对问题

时间限制: 3 Sec  内存限制: 128 MB
提交: 3  解决: 2
[提交][状态][讨论版]

题目描述

现在,有一行括号序列,请你检查这行括号是否配对。

输入

第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符

输出

每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No

样例输入

3
[(])
(])
([[]()])

样例输出

No
No
Yes

解题思路:用c++的库函数,直接建立一个栈,然后模拟配对过程。代码:
#include <iostream>
#include <cstdio>
#include <stack>using namespace std;int main()
{int n;char ch;string l;stack<char> st1;scanf("%d",&n);for(int i=0;i<n;i++){getchar();while(1){ch=getchar();if(ch=='['||ch=='('){st1.push(ch);}else{if(ch==']'){if(st1.top()=='['){st1.pop();}else{printf("No\n");//getchar();cin>>l;break;}}if(ch==')'){if(st1.top()=='('){st1.pop();}else{printf("No\n");//getchar();cin>>l;break;}}}if(ch!='['&&ch!=']'&&ch!='('&&ch!=')'){printf("Yes\n");break;}}}return 0;
}


转载于:https://www.cnblogs.com/TWS-YIFEI/p/5776452.html

括号配对问题_栈stack相关推荐

  1. java栈顶元素_栈(Stack)

    栈(Stack)是一种后进先出的数据结构(LIFO:last in first out),只允许访问栈中的第一个数据项:即最后插入的数据项.移除这个数据项之后,才能看到第二个数据项,以此类推. 往栈中 ...

  2. python括号配对问题_使用Python的栈实现括号匹配算法

    写一个栈的类:stack.py class Stack: def __init__(self): self.items = [] def is_Empty(self): return self.ite ...

  3. 括号配对问题 -- ACM解决方法

    括号配对问题 (栈的使用) 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100),表示有N组测试数据.后面的N行输入多组输入数据,每组输入数 ...

  4. acm括号配对问题c语言,ACM:UESTC - 649 括号配对问题 - stack

    /*/ 简单的括号配对问题 先把给出的数字串全部变成括号串,在用栈去压入括号,每次保存栈顶括号,如果栈顶括号能和下一个括号配对,就把栈顶弹出,指括号的指针后移. 最后判断栈内是否还有元素,如果有,就说 ...

  5. 数据结构括号匹配代码_栈:如何实现有效括号的判断?

        点击上方蓝字,关注:无量测试之道    作者 | 无量测试之道   编辑 | 小 晴有效括号,刷过LeetCode的也许对这道题很熟悉. 1.开篇问题:有效的括号[1] 假如现在要你来解这道题 ...

  6. 【ACM】括号配对问题 - 栈

    括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...

  7. python括号匹配算法_使用Python的栈实现括号匹配算法

    利用Python列表实现一个栈的结构,再使用栈实现括号匹配的算法,所谓的括号匹配是指在编程语言中,括号是成对出现的,最先出现的左括号,对应于最后的右括号,后出现的左括号对应于最新右括号,符合栈的特征 ...

  8. 使用栈将递归函数转化为非递归函数_栈(Stack)及其应用-Python实现

    常见数据结构的Python实现-栈 目录 1.1 基本概念 1.2 栈的实现 1.3 应用(括号匹配) 1.4 应用(中缀转后缀-整数) 1.5 应用( 中缀转后缀-浮点数) 1) 拆分表达式 2) ...

  9. 括号配对问题----栈模拟

    括号配对问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在,有一行括号序列,请你检查这行括号是否配对. 输入 第一行输入一个数N(0<N<=100), ...

最新文章

  1. MySQL5.7登陆数据库管理控制平台问题 ERROR 1045(28000)
  2. 查看端口号被哪个程序占用
  3. .NET中的正则表达式 (三)RegexCompilationInfo 类
  4. spring cloud 入门系列七:基于Git存储的分布式配置中心--Spring Cloud Config
  5. 实例65:python
  6. Flutter项目实战教程分享、基础使用、性能优化、每日积累
  7. 计算机绘图的展望,计算机绘图技的术发展与展望.doc
  8. C# LINQ系列:LINQ to DataSet的DataTable操作 及 DataTable与Linq相互转换
  9. mac系统调节鼠标、触控板灵敏度
  10. ML-Agents案例之机器人学走路
  11. 对象存储OSS适用于哪些场景
  12. CSDN博客主页增加赞赏码收钱模块,高端大气上档次!
  13. 用机器学习识别随机生成的CC域名
  14. titan rtx怎么样
  15. 基本数据类型 java
  16. Regsvr 32命令的用处
  17. vs code 黑白
  18. littlevGL:字体与汉字
  19. 北大青鸟ACCP5.0课程体系介绍
  20. 史上最详尽的LCT讲解

热门文章

  1. 基础问题:在一个 Activity 中定义的串口接收程序,如果 Activity 切换到其它 Activity 后还能接收到串口数据吗?...
  2. arm 驱动基础:查询方式的按键驱动程序
  3. 整流、开关、肖特基区别
  4. Linux(基础命令和三剑客)
  5. java多线程同步与死锁,廖雪峰Java11多线程编程-2线程同步-3死锁
  6. 已知向量坐标求三角形面积
  7. 工作7年,我的10条经验总结
  8. 如何做一场高质量的分享?
  9. 尼日利亚学生开发者,用阿里云PAI打造了卡通头像神器
  10. 工作和人工智能的未来