1190. 反转每对括号间的子串(出入栈)

image.png
/**
 * @param {string} s
 * @return {string}
 */
var reverseParentheses = function(s) {
    let arr = []
    let str = ""
    for(let char of s){
        if(char == "("){
            arr.push(str)
            str = ""
        }else if(char == ")"){
            str = str.split("").reverse().join("")
            str = arr[arr.length-1] + str
            arr.pop()
        }else{
            str = str + char
        }
    }
    return str
};

对于字符串序列,比如这种括号序列的题目,一概使用栈的方法解决,该题由于是要求按照括号层级,从内向外的去反转字符串,因此采用先进后出的栈,且仅在遇到右括号时才进行字符串处理,这样可以保证我们是按照从括号内到外的顺序处理字符串。

你可能感兴趣的:(1190. 反转每对括号间的子串(出入栈))