首页 > 代码库 > NYOJ 2 括号配对问题
NYOJ 2 括号配对问题
/*
题目大意:求括号是否配对
解题思路:开一个数组b,来作为栈,top为栈的下个下标控制入栈和出栈
难点详解:见代码
关键点:对进栈和出栈了解深刻一点
解题人:lingnichong
解题时间:2014/08/15 19:46:45
解题体会:最基本栈的运用。一开始还不是很清楚。可以先背一下,每天睡觉前再看一下,到用的时候,再根据这个模板写出来就可以了,这样印象会更加深刻了
*/
#include<stdio.h> #include<string.h> #define MAXN 10000+10 char a[MAXN],b[MAXN]; int main() { int n; int top,len; int i; scanf("%d",&n); getchar(); while(n--) { gets(a); top=1; len=strlen(a); b[top++]=a[0]; for(i=1;i<len;i++) { if(a[i]=='('||a[i]=='[') b[top++]=a[i]; else { if(a[i]==')'&&b[top-1]=='(') --top; else if(a[i]==']'&&b[top-1]=='[') --top; else b[top++]=a[i]; } } if(top==1) printf("Yes\n"); else printf("No\n"); } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。