UVA - 673 - Parentheses Balance
2014-06-03 23:18
155 查看
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=103&page=show_problem&problem=614
题意:
输入括号字符串,判断是否匹配正常。常用于文本编辑系统里。
解题:
水题,用栈边保存边出栈。
题意:
输入括号字符串,判断是否匹配正常。常用于文本编辑系统里。
解题:
水题,用栈边保存边出栈。
#include <iostream> #include <string> #include <stack> #include <stdio.h> using namespace std; // #define LOCAL_TEST bool Check(string str) { stack<char> sTemp; bool bCorrect = true; for ( int index=0; index<str.length(); index++ ) { switch ( str[index] ) { case '(': case '[': sTemp.push(str[index]); break; case ')': if ( sTemp.empty() || sTemp.top() != '(' ) return false; else sTemp.pop(); break; case ']': if ( sTemp.empty() || sTemp.top() != '[' ) return false; else sTemp.pop(); break; } } // end for if ( !sTemp.empty() ) return false; return true; } int main() { #ifdef LOCAL_TEST freopen("f:\\in.txt", "r", stdin); freopen("f:\\out.txt", "w+", stdout); #endif int nCase; cin >>nCase; cin.ignore(); while ( nCase-- ) { string str; // cin >>str; // 以空格为区分符,行里有空格咋办。。。太挫了! getline(cin, str); bool bRes = Check(str); if ( bRes ) cout <<"Yes" <<'\n'; else cout <<"No" <<'\n'; } // end while return 0; }
相关文章推荐
- Uva673——Parentheses Balance
- UVA 673 Parentheses Balance
- UVA 673 Parentheses Balance
- UVa 673 Parentheses Balance
- UVA673 Parentheses Balance
- Parentheses Balance UVA - 673
- UVA - 673 Parentheses Balance
- uva 673 - Parentheses Balance
- uva673 Parentheses Balance
- uva 673 Parentheses Balance
- UVA 673 Parentheses Balance
- uva 673 Parentheses Balance 【栈】
- UVa 673 - Parentheses Balance
- UVA 673 Parentheses Balance
- UVA_673: Parentheses Balance
- UVA 673 Parentheses Balance
- UVa 673 - Parentheses Balance
- UVA - 673 - Parentheses Balance(栈)
- UVA 673-Parentheses Balance
- UVa 673 - Parentheses Balance