当前位置:首页 > 数据结构 > > 正文
SSOJ2457表达式括号匹配
3159+

题目大意:判断一个由英文字母(小写)、运算符(+、-、*、/)和左右小(圆)括号构成的算数表达式中的括号是否匹配、是否合法。

题目描述

假设一个表达式由英文字母(小写)、运算符(+、-、*、/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。

输入

输入一行,即是表达式。

输出

输出“YES”或者输出“NO”。

样例输入

2*(x+y)/(1-x)@

样例输出

YES

解题思路

若能匹配,左右括号数量一样;若出现右括号,则前面必有左括号。用一个变量记录左括号的数量,遇到右括号如果没有左括号则匹配不成功,否则左括号数量-1。

程序实现

About

坚决不Copy代码!

本文标签:,,,

SSOJ2457表达式括号匹配:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!