依次输出括号内的全部表达式:
例 1:(1+1)*2 输出:1+1 例 2:((1+2)*(3+4))+2 输出: (1+2)*(3+4) 1+2 3+4 例3:())或(() 输出: 抛出Exception
function findStr(str){
let res = []
let stack = []
for(let i=0;i<str.length;i++){
if(str[i]==='('){
stack.push(i)
} else if (str[i] === ')') {
res.push(str.substring(stack[stack.length-1]+1,i))
stack.length ? stack.pop()
}
}
console.log(res)
if(stack.length){
throw new Error('exception')
}
}
findStr('(1+1)*2')
findStr('((1+2)*(3+4))+2')
// findStr('(()')
findStr('())')