解题思路
我们需要从字符串中找到哪些是有效的括号 ,哪些是无效的括号!那么想到的就是采用标记法来做 记录 左括号为 1 右边括号为 0 的就是我们不需要的
// (()())(())(()(())) 原始字符串,按照题意分隔一下,然后把上面的输出结果+到下面对应的位置
// ( ()() ) ( () ) ( ()(()) )
// 1 2121 0 1 21 0 1 212321 0
// * * * * * *
图示当中 带*号的就是我们所不需要的括号,(1 左括号 )0右括号
function remover(s) {
let lev = 0
let res = ''
for(let i = 0; i < s.length; i++) {
// 当识别到为左括号时,lev++ ,并且判断当1的情况
if(s.charAt(i)) {
if(lev === 1) {
continue;
}
lev ++
}
else {
if(lev === 0) {
continue;
}
lev --
}
res += s.charAt(i)
}
return res
}