UVA-673 括号匹配--栈
来源:互联网 发布:广电网络面临的形势 编辑:程序博客网 时间:2024/06/05 12:04
如果是一个合法的序列,每对配对的括号的两个字符(‘(’ 和 ')' 或者 '[' 和 ']')一定是相邻的,每次判断下该字符是否有配对即可。
如果配对,将左括号出栈即可。特别注意:空格也是合法的。
AC代码:
#include<cstdio>#include<stack>using namespace std;const int maxn = 200;char str[maxn];stack<char>s;bool Balance(){ char ch; for(int i = 0; str[i] != '\n'; ++i){ if(str[i] == ' ') continue; if(!s.empty()) { ch = s.top(); if(ch == '(' && str[i] == ')' || ch == '[' && str[i] == ']') s.pop(); else s.push(str[i]); } else s.push(str[i]); } if(s.empty()) return true; else while(!s.empty()) s.pop(); return false;}int main(){ int T; scanf("%d", &T); getchar(); while(T--){ fgets(str, sizeof(str), stdin); if(Balance()) printf("Yes\n"); else printf("No\n"); } return 0;}
如有不当之处欢迎指出!
0 0
- UVA-673 括号匹配--栈
- Uva 673 括号匹配
- uva 673 括号匹配
- UVA 673(括号匹配)
- uva 673括号匹配问题
- UVA 673 Parentheses Balance(括号匹配)
- UVA 括号匹配
- UVA 673 括号的匹配——经典栈的应用
- UVA 673、(就是一个括号的匹配问题。利用栈的性质最好不过了!!!)
- [容易] UVa OJ 673 经典括号匹配问题
- uva 1626 添加最少的括号使得括号匹配
- 栈---括号匹配
- 括号匹配(栈)
- [栈] 括号匹配问题
- 栈实例-括号匹配
- 栈实现括号匹配
- 栈实现括号匹配
- 栈实现括号匹配
- 获取android项目中sqlite数据库
- Android Error:Execution failed for task ':app:transformClassesWithDexForRelease'错误小记
- 如何快速转载CSDN中的博客
- java解析json(四):gson
- iOS layout 动画
- UVA-673 括号匹配--栈
- windows 豆沙绿参数
- cmd命令大全
- MongoDB 关于索引操作命令实例详解
- js/jq解析json
- zip明文攻击
- 网络流24题 题解 (部分) 更新中
- Shutting down interface eth0: Error: Device 'eth0' (/org/freedesktop/NetworkManager/Devices/0) disc
- 获取Android签名内容