JS括号匹配算法
1.要求:
"(){}[]" => True
"([{}])" => True
"(}" => False
"[(])" => False
"[({})](]" => False
2.代码
function validBraces(braces) {
const stack = []
try {
braces.split("").forEach(e => {
if (e === "(" || e === "{" || e === "[") {
stack.push(e)
} else {
if (e === ")" && stack.pop() !== "(") throw ""
if (e === "]" && stack.pop() !== "[") throw ""
if (e === "}" && stack.pop() !== "{") throw ""
}
})
} catch {
return false
}
return stack.length === 0
}
本文介绍了一种JavaScript实现的括号匹配算法,通过遍历字符串并利用栈的数据结构来判断括号是否正确闭合。文章提供了完整的源代码示例,并详细解释了每一步的逻辑。适用于前端开发人员学习与应用。
933

被折叠的 条评论
为什么被折叠?



