OlveraeUNSW
返回题目列表
COMP2521

栈 · 括号匹配

栈 · 判断括号是否配对平衡

读入一行只含括号的字符串(( ) [ ] { }),用栈判断它是否配对平衡。平衡输出 1,否则输出 0。空串算平衡。

这是栈最经典的用途。请补全 isBalanced:

  • 遇到左括号 ( [ { → 压栈。
  • 遇到右括号 → 看栈顶是不是对应的左括号:是就弹栈,否(或栈已空)就不平衡。
  • 全部处理完后,栈必须为空才平衡。
易错点(正是错误实验室里的坑):① 遇右括号时若栈为空,直接不平衡(别对空栈 pop)。② 要检查类型匹配(] 必须配 [,不能配 ()。③ 最后别忘了判断栈是否清空——((( 虽然没遇到不匹配,但栈没空,仍不平衡。

输入

  • 一行:括号字符串(可能为空行)。

输出

  • 一行:1(平衡)或 0(不平衡)。

示例:输入 ([]) → 输出 1;输入 ([)] → 输出 0。

样例

stdin
([])
期望输出
1
stdin
([)]
期望输出
0
c-dcc
14