未知题型

表达式括号匹配 Description 假设一个表达式有英文字母(小写)和数字、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。 请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。 Input 输入包括多行,每行对应一个表达式 Output 输出包括多行,每行对应一个表达式匹配检查的结果“YES” 或“NO”。 Sample Input 2*(x+y)/(1-x)@ 3-(5*x(7-y)@ Sample Output YES NO

【参考答案】

这是一个栈的应用问题。我们可以使用一个栈来跟踪左括号,并在遇到右括号时检查是否匹配。以下是一个可能的Python程序实现......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)