1.括号与括号之间为一段
2.遇到左括号,当前这一段存入stack
3.遇到右括号,当前这一段翻转,可以与前一段拼接了。
4.一直进行。即可得到结果。
class Solution {
public:
string reverseParentheses(string s) {
stack<string> s_st;
string input = s;
string res;
for(char &c : input){
if (c == '('){
s_st.push(res);
res = "";
}else if (c==')'){
reverse(res.begin(), res.end());
res = s_st.top() + res;
s_st.pop();
}else{
res.push_back(c);
}
}
return res;
}
};