删除最外层的括号

这个也很简单,主要是在每次遍历到右括号的时候,从栈里pop()一个出来,如果此时栈为空,则说明找到了消解项。  力扣

    public String removeOuterParentheses(String s) {
        int start = 0;
        StringBuilder stringBuilder = new StringBuilder();
        int len = s.length();
        Stack stack = new Stack();
        for (int i = 0; i < len; i++) {
            if (s.charAt(i) == '(') {
                stack.push(s.charAt(i));
            } else {
                stack.pop();
                //pop后,如果stack为空,则找到了要消解的括号。留下来
                if (stack.isEmpty()) {
                    stringBuilder.append(s.substring(start + 1, i));
                    start = i + 1;
                }
            }
        }
        return stringBuilder.toString();
    }

上一篇:


下一篇:go container/heap包浅析