题目解析
- 这个题目的本质就是一个符号匹配问题,而且还是明确告诉这些括号都是匹配的
- 相似的题目应该是判断括号是否匹配
思路
- 就是找到一对匹配的括号,然后翻转其中的字符就行了。
class Solution {
public:
string reverseParentheses(string s) {
if (s.length() == 0) {
return "";
}
stack<int> stk;
for (int i = 0; i < s.length(); i++) {
if (s[i] == '(') {
stk.push(i);
} else if (s[i] == ')') {
int left = stk.top();
stk.pop();
reverse(s.begin() + left + 1, s.begin() + i);
}
}
string ans("");
for (char x: s) {
if ('(' != x && ')' != x) {
ans += x;
}
}
return ans;
}
};