在JavaScript中,实现括号匹配通常可以使用栈(Stack)这种数据结构。以下是相关基础概念、优势、类型、应用场景以及解决括号匹配问题的具体方法:
常见的括号类型包括:
()
[]
{}
以下是一个使用JavaScript实现括号匹配的示例代码:
function isValid(s) {
const stack = [];
const pairs = {
')': '(',
']': '[',
'}': '{'
};
for (let char of s) {
if (char === '(' || char === '[' || char === '{') {
stack.push(char);
} else if (char === ')' || char === ']' || char === '}') {
if (stack.length === 0 || stack.pop() !== pairs[char]) {
return false;
}
}
}
return stack.length === 0;
}
// 示例用法
console.log(isValid("()")); // true
console.log(isValid("()[]{}")); // true
console.log(isValid("(]")); // false
console.log(isValid("([)]")); // false
console.log(isValid("{[]}")); // true
stack
来存储左括号。(
, [
, {
),将其压入栈中。)
, ]
, }
),检查栈顶元素是否是对应的左括号。如果不是或者栈为空,返回 false
。true
;否则返回 false
。pairs
对象快速查找对应的左括号进行比较。通过这种方法,可以有效地解决括号匹配问题,并且代码简洁易懂。
领取专属 10元无门槛券
手把手带您无忧上云