luoheng
10/6/2019 - 7:35 AM

removeOuterParentheses


import "strings"

func removeOuterParentheses(S string) string {
    stack := make([]byte, 0, 10)
    length := len(S)
    allString := make([]string, 0, 4)
    start := 0
    for i := 0; i < length; i++ {
        if S[i] == '(' {
            stack = append(stack, S[i])
        } else {
            stack = stack[:len(stack)-1]
            if len(stack) == 0 {
                allString = append(allString, S[start+1:i])
                start = i+1
            }
        }
    }
    return strings.Join(allString, "")
}