NYOJ2括号配对问题( 栈的应用)
来源:互联网 发布:软件质量保证什么阶段 编辑:程序博客网 时间:2024/05/29 11:12
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=2
解题思路:
比较经典的栈的应用。首先将字符串首字符入栈,然后遍历剩余的字符,根据栈顶字符和当前字符串来考虑是入栈还是出栈。当前栈顶跟当前遍历的字符不匹配时,需要入栈;若能匹配,则执行出栈操作。字符串全都遍历完的时候,若栈为空,就证明所有的括号都能匹配;否则,证明有括号不能匹配。
代码如下:
#include <iostream>#include <cstring>#include <stack>using namespace std;int main(){ int N; cin>>N;//N组 char tmp[10001];//存括号字符串 for(int i=0;i<N;i++){ cin>>tmp; stack<char> s; s.push(tmp[0]);//字符串第一个先入栈 for(int j=1;j<strlen(tmp);j++){ if(s.empty()){ s.push(tmp[j]); continue; } char tops=s.top();//取栈顶 if(tops=='('){ if(tmp[j]==')') s.pop(); else s.push(tmp[j]); } else if(tops=='['){ if(tmp[j]==']') s.pop(); else s.push(tmp[j]); } else s.push(tmp[j]); } if(s.empty()) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0;}
阅读全文
0 0
- NYOJ2括号配对问题( 栈的应用)
- NYOJ2 括号配对问题(栈的运用)
- NYOJ2 括号配对问题
- NYOJ2 括号配对问题
- nyoj2括号配对问题
- NYOJ2 括号配对问题
- NYOJ2括号配对问题
- NYOJ2 括号配对问题
- nyoj2 括号配对问题
- nyoj2-括号配对问题
- NYOJ2-括号配对问题
- nyoj2括号配对问题(数据结构---栈)
- nyoj2 括号配对问题 模拟转化为栈
- NYOJ2 括号配对
- 栈的应用-----括号配对
- NYOJ 2 括号配对问题 数据结构栈的应用
- 括号配对(栈的应用!)
- 括号配对问题---栈
- 简单抓站的N种方式-lxml与xpath
- 关于第一次套上shiro框架遇到的页面css等失效现象
- iOS给label设置click事件
- LightOJ1220 Mysterious Bacteria
- 本地开发spark代码上传spark集群服务并运行
- NYOJ2括号配对问题( 栈的应用)
- 汇编open file
- POJ 2251 Dungeon Master
- Android查看应用方法数-65536限制
- Redis的基本命令
- STM32-PWM输出
- 向上转型向下转型
- 线性渐变,彩虹
- 数据结构实验之链表五:单链表的拆分(栈)