力扣刷题:23-删除最外层的括号(1021)

153 阅读1分钟

遇到左括号加一,遇到右括号减一,当等于零的时候,就是最外层的括号结束了,将这段字符范围的最左边和最右边一个字符删除即可。

下面是使用C++实现的代码:

class Solution {
public:
    string removeOuterParentheses(string s) {
        string ret = "";
        int pre = 0, count = 0;
        for (int i = 0; i < s.size(); i++) {
            if (s[i] == '(') {
                count++;
            } else {
                count--;
            }
            if (count == 0) {
                ret += s.substr(pre + 1, i - pre - 1);
                pre = i + 1;
            }
        }
        return ret;
    }
};