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
}