程序代码:试试这个看看,没有验证地址,还真有点....!
#include <stdio.h>
char stack[10002];
int main() {
int N, i, t, flag;
char ch;
scanf("%d%*c", &N);
while(N--) {
t = 0; flag = 1;
ch = getchar();
while(ch != '\n') {
if(ch == '(' || ch == '[') stack[t++] = ch;
else if(ch == ')' && stack[t - 1] == '(' || ch == ']' && stack[t - 1] == '[') {
if(t) t--;
else flag = 0;
}
else flag = 0;
ch = getchar();
}
printf("%s\n", !t && flag ? "Yes" : "No");
}
return 0;
}
/*
1.当遇到左括号时,将其入栈
2.当遇到右括号时,若栈非空,则与当前top匹配,再top出栈,
若栈空,则却左括号
3.当串扫描完,若栈非空,则说明缺右括号,
若栈空,则匹配成功
3
[(])
(])
([[]()])
No
No
Yes
*/
...希望ac

仰望星空...........不忘初心!








