Uva673——Parentheses Balance

来源:互联网 发布:ubuntu系统能做什么 编辑:程序博客网 时间:2024/05/20 17:26

题目很简单,栈的应用。需要注意的是空串也是合法的。


AC代码:

#include <iostream>#include <cstdio>#include <stack>#include <cstring>using namespace std;int main(){//freopen("1.txt", "r", stdin);int n;bool ans;char str[140];cin >> n;getchar();while(n--){gets(str);stack<char> S;ans = true;int i = 0, len = strlen(str);while(i < len){if(str[i] == '(' || str[i] == '[')S.push(str[i]);if(str[i] == ')' || str[i] == ']'){if(S.empty()){ans = false;break;}char c = S.top();if((str[i] == ')' && c == '(') || (str[i] == ']' && c == '['))S.pop();else{ans = false;break;}}i++;}if(ans && S.empty())cout << "Yes" << endl;elsecout << "No" << endl;}return 0;}


0 0