返回题目列表
COMP2521
栈 · 括号匹配
栈 · 判断括号是否配对平衡
读入一行只含括号的字符串(( ) [ ] { }),用栈判断它是否配对平衡。平衡输出 1,否则输出 0。空串算平衡。
这是栈最经典的用途。请补全 isBalanced:
- 遇到左括号
([{→ 压栈。 - 遇到右括号 → 看栈顶是不是对应的左括号:是就弹栈,否(或栈已空)就不平衡。
- 全部处理完后,栈必须为空才平衡。
易错点(正是错误实验室里的坑):① 遇右括号时若栈为空,直接不平衡(别对空栈 pop)。② 要检查类型匹配(]必须配[,不能配()。③ 最后别忘了判断栈是否清空——(((虽然没遇到不匹配,但栈没空,仍不平衡。
输入
- 一行:括号字符串(可能为空行)。
输出
- 一行:
1(平衡)或0(不平衡)。
示例:输入 ([]) → 输出 1;输入 ([)] → 输出 0。
样例
stdin
([])
期望输出
1
stdin
([)]
期望输出
0
c-dcc
14