题目大意
有一个以"@"为结束符的字符串,判断圆括号是否匹配。
思路
遇到"(" 压入 oper ,遇到")"弹出。
切记:一定要判断栈空!
#include <bits/stdc++.h>
using namespace std;
stack<int> oper;
char n[255];
int main() {
for (int i = 0; n[i - 1] != '@'; i++) cin >> n[i];
int len = strlen(n);
for (int i = 0; i < len; i++) {
if (n[i] == '(')
oper.push(n[i]);
if (n[i] == ')')
if (oper.empty()) {
cout << "NO";
return 0;
} else
oper.pop();
}
if (oper.empty())
cout << "YES";
else
cout << "NO";
}