題目描述:給定一個由()和[ ]組成的字符串,逐個提取出()和 [ ],並且輸出來,要求時間複雜度爲O(n)。
例如:'(([]()[])[])'
結果:[ ] ( ) [ ] ( ) [ ] ( )
function bracket(str) {
let arr = [],
len = str.length
for(let i = 0; i < len; i++) {
if(str[i] === '(' || str[i] === '[') {
arr.push(str[i])
}
else {
let rear = arr.pop()
if(rear && str[i] === ')' && rear === '(' || str[i] === ']' && rear === '[') {
console.log(rear)
console.log(str[i])
}
}
}
}