var str = []{}()
function tagMatch(str) {
if (!str) {
console.log('false');
return false
}
const stack = []
const tagArr = str.split('')
let lastTag = null
tagArr.map((item, index) => {
// if (index == 0) {
// stack.push(item)
// lastTag = item
// } else {
switch (item) {
case '(':
stack.push(item)
lastTag = item
break;
case '[':
stack.push(item)
lastTag = item
break;
case '{':
stack.push(item)
lastTag = item
break;
case ')':
if (lastTag === '(') {
stack.pop()
lastTag = stack[stack.length - 1]
} else {
stack.push(item)
lastTag = item
};
break;
case '}':
if (lastTag === '{') {
stack.pop()
lastTag = stack[stack.length - 1]
} else {
stack.push(item)
lastTag = item
};
break;
case ']':
if (lastTag === '[') {
stack.pop()
lastTag = stack[stack.length - 1]
} else {
stack.push(item)
lastTag = item
};
break;
// }
}
})
console.log(stack);
// console.log([] === []);
if (stack.length === 0) {
console.log('true');
return true
} else {
console.log('false');
return false
}
}
tagMatch(str)
```
利用栈的思想解决括号闭合的问题(javascript)
最新推荐文章于 2021-12-16 09:21:14 发布