图图最近碰上一种表达式,这种表达式里面有英文字母(小写)、运算符(+、-、*、/)和左右小(圆)括号构成,以 @ 作为表达式的结束符。图图想请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则输出 YES;否则输出 NO。表达式长度小于255,左圆括号少于20 个。
一行:表达式(表达式长度小于255,左圆括号少于20 个)。
一行:YES 或 NO。
2*(x+y)/(1-x)@
YES
(25+x)*(a*(a+b+b)@
NO
提示:逐个读入字符,①如果是左括号则入栈;②如果是右括号则进行判断是否有栈顶元素匹配;③如果是@符号,判断栈是否为空、标记的状态,进行输出并结束输入。