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