写一个方法字符串左括号和右括号必须有相同
时间: 2024-11-15 21:24:36 浏览: 12
编写一个检查字符串中左括号(如 '(', '{', '[')和对应的右括号(如 ')', '}', ']')是否配对的函数,可以使用栈的数据结构来辅助完成。这种方法被称为括号匹配算法。下面是用 JavaScript 编写的示例:
```javascript
function isParenthesesBalanced(s) {
const stack = [];
const pairs = {')': '(', '}': '{', ']': '['};
for (let i = 0; i < s.length; i++) {
let char = s[i];
if (pairs[char]) { // 遇到开括号,入栈
stack.push(char);
} else if (char === ')' || char === '}' || char === ']') { // 遇到闭括号,看栈顶是否有对应开括号
if (!stack.length || stack.pop() !== pairs[char]) { // 如果栈为空或者栈顶不是对应的开括号,则不平衡
return false;
}
}
}
// 如果所有括号都已匹配,栈应该为空
return stack.length === 0;
}
// 测试
console.log(isParenthesesBalanced("({[]})")); // 输出:true
console.log(isParenthesesBalanced("({[]))")); // 输出:false
阅读全文