检测成对出现的括号
Exmaple:
Input: '{}'
Output: true
Input: '(){[]}'
Output: true
Input: '(]'
Output: false
Input: '([]'
Output: false
利用栈的知识点
遍历字符串,遇到左括号进栈,右括号出栈
进出栈的括号不匹配则 return false
const brackets = function (str) {
const arr = [];
const obj = {
'(': ')',
'[': ']',
'{': '}'
};
let result = true;
for (let i in str) {
if (['(','[','{'].includes(str[i])) {
arr.push(str[i]);
} else {
if (str[i] !== obj[arr.pop(str[i])]) {
return false;
}
}
}
if (arr.length) {
return false;
}
return result;
}
网友评论