这道题的难点不在于编写程序,这么讲有点意思,leetcode的题目难点不在编程,这道题看半天没反应过来是什么意思,无奈打开力扣(leetcode中文版),看了题目描述才明白题目的意思。简单讲就是去掉最外层的括号,这里先过滤了最左边的(,根据opened的值也过滤对应的).
class Solution {
public:
string removeOuterParentheses(string S) {
string res;
int opened = 0;
for (char c : S) {
if (c == '(' && opened++ > 0) res += c;
if (c == ')' && opened-- > 1) res += c;
}
return res;
}
};