南阳OJ 2-括号配对问题
题目链接 http://nyoj.top/problem/2
栈的简单应用,原来一直想做但没做的一题。
#include <bits/stdc++.h>
using namespace std;
void doo() {
string s;
getline(cin, s);
stack<char> sta;
for(int i=0; i<s.length(); i++) {
if(i == 0 || sta.empty()) {
sta.push(s[i]);
continue;
}
if(s[i] - 1 == sta.top() || s[i] - 2 == sta.top()) {
sta.pop();
} else {
sta.push(s[i]);
}
}
cout << (sta.empty() ? "Yes" : "No") << endl;
}
int main() {
int T;
cin >> T;
getchar();
while(T--)
doo();
return 0;
}
耗时信息:
47056 Falcon 2 答案正确 C++ 6ms 2096 KB 548 B 2018-10-10 23:14:32