9. Platné závorky
String s obsahuje jen znaky (, ), [, ], { a }. Je platný, když se každá závorka zavře správným typem a ve správném pořadí.
Příklady
Vstup
s = "()"Výstup
trueVstup
s = "()[]{}"Výstup
truePoužij zásobník (pole s push a pop). Otevírací závorku ulož. U zavírací zkontroluj, že pop() vrátí odpovídající otevírací. Na konci musí být zásobník prázdný.
1function isValid(s: string): boolean {2 const pairs: Record<string, string> = { ")": "(", "]": "[", "}": "{" };3 const stack: string[] = [];4 for (const ch of s) {5 if (ch in pairs) {6 if (stack.pop() !== pairs[ch]) return false;7 } else {8 stack.push(ch);9 }10 }11 return stack.length === 0;12}13