南阳括号匹配
来源:互联网 发布:java调用短信接口 编辑:程序博客网 时间:2024/04/30 07:32
括号配对问题
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
- 现在,有一行括号序列,请你检查这行括号是否配对。
- 输入
- 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
- 输出
- 每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
- 样例输入
3[(])(])([[]()])
- 样例输出
NoNoYes
- 来源
- 网络
- 上传者
naonao
模拟栈。。。。。
风格一:
STL、、、
/*#include<iostream>#include<cstdio>#include<stack>#include<cstring>#include<algorithm>using namespace std;int main(){ char str[10001]; int t; cin>>t; int flag; while(t--) { flag=1; stack<char>st; cin>>str; for(int i=0;i<strlen(str);i++) { if(str[i]=='['||str[i]=='(') st.push(str[i]); else if(str[i]==']') { if(st.top()!='['||st.empty()) { flag=0; } else st.pop(); } else if(str[i]==')') { if(st.top()!='('||st.empty()) flag=0; else st.pop(); } } if(!st.empty()) flag=0; if(flag) printf("Yes\n"); else printf("No\n"); } return 0;}*/
风格二、、STL#include <iostream>#include <stack>#include <string>using namespace std;int main(){int N;cin>>N;while(N--){string a;stack<char> s;cin>>a;for(int i=0;i<a.size();i++){if(a[i]=='('||a[i]=='[')s.push(a[i]);else if(a[i]==')'){if(!s.empty()&&s.top()=='(')s.pop();//else//s.push(a[i]);}else if(a[i]==']'){if(!s.empty()&&s.top()=='[')s.pop();//else//s.push(a[i]);}}if(s.empty())cout<<"Yes"<<endl;elsecout<<"No"<<endl;}return 0;}
风格三:、、、
0 0
- 南阳括号匹配
- 南阳 ACM 括号匹配
- 南阳ACM 括号匹配 JAVA
- 南阳理工OJ 15 括号匹配
- 南阳理工OJ15-括号匹配(2)
- #include<stack> 南阳oj括号匹配
- 南阳oj 第15题 括号匹配(二)
- 南阳理工acm 15括号匹配(二)
- 15括号匹配(二)南阳理工NYOJ
- 括号括号括号匹配
- 南阳ACM2-括号配对
- 南阳 括号配对问题
- 括号匹配
- 括号匹配
- 括号匹配
- 括号匹配
- 括号匹配/()[]
- 括号匹配
- 分支-13 计算天数(15)
- iOS 图标、图形尺寸
- C语言找出字符串中的特定的字符,并输出
- linux下启动和停止memcached
- new Thread(t);和new Thread(new ThreadStart(t));
- 南阳括号匹配
- 开关电源调试记录三
- 运行windows命令
- 用位运算来代替乘法、除法以及取模
- java实现ftp上传下载
- 黑马程序员——java基础——数组
- 20150618-Java项目心得1(里面内容均摘自我的有道云笔记)
- 用Python实现Dijkstra算法用来寻找两点之间的最短路径 (Implementation of Dijkstra in Python)
- ACTIVEX。不支持在Internet Explorer中添加WebBrowser