表达式括号匹配
2017-02-04 16:44
183 查看
假设一个表达式有英文字母(小写)、运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。
输入格式:
一行:表达式
输出格式:
一行:“YES” 或“NO”
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; char s[300]; bool pp(char s[300]) { int top=0,i=0; while(s[i]!=0) { if(s[i]=='(') top++; if(s[i]==')') if(top>0) top--; else return 1; i++; } if(top!=0) return 1; else return 0; } int main() { scanf("%s",s); if(pp(s)==0) cout<<"YES"; else cout<<"NO"; return 0; }
相关文章推荐
- 【C++】括号匹配问题与逆波兰表达式
- 数据结构-栈的应用-算术表达式小括号匹配
- 简单判断表达式括号是否匹配
- 表达式括号匹配(stack)
- 栈的基本操作及如何判断一个表达式中的左右括号是否匹配
- 洛谷 1739_表达式括号匹配_模拟
- 用堆栈实现给定数学表达式括号是否匹配 推荐
- 洛谷P1739 表达式括号匹配解题报告
- 正则表达式匹配括号外的符号
- 用链栈实现字符串表达式括号匹配算法
- 中缀表达式转后缀表达式与括号匹配
- 括号匹配检测 逆波兰表达式
- (1.2.2.1)栈和队列的应用:数制转换、括号匹配、后缀表达式求解,中缀表达式求解、双栈实现队列,min函数栈
- 正则表达式的括号与贪婪匹配
- java正则表达式匹配小括号内的内容
- 洛谷 1739——表达式括号匹配(线性数据结构)
- 栈的应用Ⅰ--后缀表达式 括号匹配
- 判断表达式括号是否匹配,C语言堆栈实现
- 判断表达式括号是否匹配java和js版本
- 栈及栈的应用(括号匹配和逆波兰表达式)