TypeScript Bracket
function bracket(s: string): number {
const stack: string[] = [];
for (const v of s) {
switch (v) {
case ")":
if (stack.length === 0 || stack.pop() !== "(") {
return 0;
}
break;
case "]":
if (stack.length === 0 || stack.pop() !== "[") {
return 0;
}
break;
case "}":
if (stack.length === 0 || stack.pop() !== "{") {
return 0;
}
break;
default:
if (v) {
stack.push(v);
}
break;
}
}
return stack.length === 0 ? 1 : 0;
}
This uses a simple stack approach: open brackets go in, matching closing brackets pop them out.