Uva 673 平衡的括号——栈的操作
#include #include #include #include #include using namespace std;int main(){ int T; scanf("%d", &T); getchar(); while (T--) { char s[200]; gets(s); int i, len = strlen(s); stack k; for (i = 0; i < len; i++) { if (s[i] == '(' || s[i] == '[') k.push(s[i]); else if (s[i] == ')' || s[i] == ']') { if (k.empty()) break; char t = k-(); k.pop(); if ( (s[i] == ')' && t == '(') || (s[i] == ']' && t == '[') ) continue; else break; } } if (i >= len && k.empty()) cout << "Yes" << endl; else cout << "No" << endl; } return 0;}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~