括号匹配算法是一种用于检查字符串中的括号是否正确配对的算法。在JavaScript中,这种算法通常使用栈(Stack)数据结构来实现。
基础概念:
算法步骤:
(
、[
、{
),则将其压入栈中。)
、]
、}
),则检查栈顶元素:示例代码:
function isBracketMatched(str) {
const stack = [];
const brackets = {
')': '(',
']': '[',
'}': '{'
};
for (let char of str) {
if (char === '(' || char === '[' || char === '{') {
stack.push(char);
} else if (char === ')' || char === ']' || char === '}') {
if (stack.length === 0 || stack.pop() !== brackets[char]) {
return false;
}
}
}
return stack.length === 0;
}
// 测试示例
console.log(isBracketMatched("({[]})")); // 输出: true
console.log(isBracketMatched("({[}])")); // 输出: false
优势:
应用场景:
领取专属 10元无门槛券
手把手带您无忧上云