博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
括号配对nyoj2(疑问)
阅读量:4456 次
发布时间:2019-06-08

本文共 992 字,大约阅读时间需要 3 分钟。

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

 
输入
第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符
输出
每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No
样例输入
3[(])(])([[]()])
样例输出
NoNoYes
#include 
#include
#define M 10001char s[M], s1[M];//s是目标数组,s1是栈int main(){ int n, len, top, i; scanf("%d", &n); while(n--){ top = 3;//栈顶 scanf("%s", s+1); len = strlen(s+1); for(i = 1; i <= len; i++){ s1[top++] = s[i];//入栈 while(s1[top-1] - s1[top-2] == 1 || s1[top-1] - s1[top-2] == 2)//这里用while是处理【】()等相邻的情况 { top -= 2;//出栈 } } if(top <= 3) printf("Yes\n"); else printf("No\n"); } return 0;}
View Code

疑问: 有top小于3的情况吗?

转载于:https://www.cnblogs.com/the-one/p/3265683.html

你可能感兴趣的文章
在做操作系统实验的一些疑问
查看>>
Log4J日志配置详解
查看>>
NameNode 与 SecondaryNameNode 的工作机制
查看>>
Code obfuscation
查看>>
大厂资深面试官 带你破解Android高级面试
查看>>
node.js系列(实例):原生node.js实现接收前台post请求提交数据
查看>>
SignalR主动通知订阅者示例
查看>>
golang的表格驱动测试
查看>>
用python实现矩阵转置
查看>>
linux 小技巧(磁盘空间搜索)
查看>>
iOS开发——捕获崩溃信息
查看>>
(for 循环)编程找出四位整数 abcd 中满足 (ab+cd)(ab+cd)=abcd 的数
查看>>
js 基础
查看>>
tomcat使用spring-loaded实现应用热部署
查看>>
boost1.53中的lock-free
查看>>
链表_leetcode203
查看>>
ubuntu linux下火狐跨版本升级方法详解(也同样适合linux下安装火狐中国版)
查看>>
基于ajax 的 几个例子 session ,ajax 实现登录,验证码 ,实现ajax表单展示
查看>>
OSX: 10.9的SMB网络共享连接可能破坏其权限设置
查看>>
连接不上sql server服务器的解决方案
查看>>