原题目:https://leetcode-cn.com/problems/remove-outermost-parentheses/
思路:
用num记录状态,分两种情况:
如果是(:num+=1;这时如果num = 1,表明是第一个(,也就是最外面的,不加入,。如果num>1 则应该加入
如果是):num-=1;这时如果num=0,表明前面的括号已经匹配完了,不应该加入。如果是>0的,应该加入
代码:
class Solution {
public:
string removeOuterParentheses(string S) {
string r = "";
int num = 0;
for(int i=0;i<S.size();i++){
if(S[i]=='('){
num += 1;
if (num >1) r+=S[i];
}
else{
num -= 1;
if(num>0) r+= S[i];
}
}
return r;
}
};