NYoj 2 括号配对问题(栈)
来源:互联网 发布:无锡网络推广技巧 编辑:程序博客网 时间:2024/05/01 16:25
括号配对问题
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
- 现在,有一行括号序列,请你检查这行括号是否配对。
- 输入
- 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
- 输出
- 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
- 样例输入
3[(])(])([[]()])
- 样例输出
NoNoYes
- 来源
- 网络
- 上传者
naonao
第一次用栈解决问题,栈与队列不同的就是栈是先进后出
#include<stdio.h>#include<string.h>#include<algorithm>#include<stack>using namespace std;char a[110000];int main(){int n,i,k;scanf("%d",&n);while(n--){scanf("%s",a);k=strlen(a);stack<char>s;//创建栈 s.push(a[0]);//第一个元素进栈 for(i=1;i<k;i++){if(s.size()==0)//判断栈是否为空 s.push(a[i]);else{if(s.top()=='('&&a[i]==')')s.pop();//消去栈首元素 else if(s.top()=='['&&a[i]==']')s.pop();elses.push(a[i]);}}if(s.empty())printf("Yes\n");elseprintf("No\n"); }return 0;}
0 0
- NYOJ 2 括号配对问题(栈)
- 括号配对问题--nyoj-2(栈)
- NYOJ 2 括号配对问题(栈)
- NYoj 2 括号配对问题(栈)
- 栈 NYOJ 2 (括号配对问题)
- NYOJ 2 括号配对问题 【栈】
- nyoj 2括号配对问题(栈)
- nyoj-2 括号配对问题 栈
- nyoj 括号配对问题(栈)
- NYOJ 括号配对问题(栈)
- NYOJ 括号配对问题(不用栈)
- NYOJ 2 括号配对问题(数据结构)
- NYOJ 题目2 括号配对问题(栈)(指针)
- NYOJ 2 括号配对问题 (栈 stack)
- nyoj--2--括号配对问题(栈函数)
- NYOJ 2 括号配对问题 (栈 stack)
- NYOJ:2 括号配对问题(初识栈)
- NYOJ 2 括号配对问题(经典题目,栈)
- PHP之include载入文件
- Redis教程(十五):C语言连接操作代码实例
- 百度迁徙背后数据瓦片规则分析(自定义图层)
- 前端开发-切图初了解
- Objective-C内存管理
- NYoj 2 括号配对问题(栈)
- Spring beans架构
- 电脑摄像头开启之后图形倒立
- 上下界网络流学习小记
- 数组概述
- Makefile:2: *** missing separator. Stop. 解决方案
- 欢迎使用CSDN-markdown编辑器
- Java工程师成神之路
- hadoop机架感知--加强集群稳固性,该如何配置hadoop机架感知