这个问题十分简单就是一个利用栈的问题,栈遇到左括号就读入,只要遇见右括号,就将栈顶左括号弹出,最终遇到符号B整个过程就停止。将栈的大小输出即为结果
#include<iostream> #include<stack> #include<string> using namespace std; int main() { char n; stack<char> check; string str; while (getline(cin,str)) { int count = 0; stack<char> check; for (int i = 0; str[i] != '\0'; i++) { n = str[i]; if (n == '(') { check.push(n); } else if (n == ')') { if (check.top() = '(') check.pop(); } else if (n == 'B') break; } count = check.size(); cout << count << endl; count = 0; } return 0; }