程序代码:
试试这个看看,没有验证地址,还真有点....! #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
仰望星空...........不忘初心!