博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ACM_括号匹配
阅读量:5095 次
发布时间:2019-06-13

本文共 1015 字,大约阅读时间需要 3 分钟。

括号匹配(栈)

Time Limit: 2000/1000ms (Java/Others)

Problem Description:

给一组包含[]()两种括号的序列,检查是否是合法的。如:()[],([]),[()]是合法的;()),[(),]()[,([)]是非法的。

Input:

输入包含多组测试数据,对于每组数据,输入一个只包含'[',']','(',')',四种字符的括号序列S(1<=length(S)<=100000);

Output:

对于每组数据,如果括号序列合法输出Yes,否则输出no。

Sample Input:

())[(])([[]()])

Sample Output:

NoNoYes 解题思路:栈的运用。注意使用t.top()函数前要用t.empty()先判断是否栈空,不然会出错! AC代码:
1 #include
2 using namespace std; 3 char s[100005]; 4 int main(){ 5 while(cin>>s){ 6 stack
t; 7 bool flag=false; 8 for(int i=0;i<(int)strlen(s);++i){ 9 if(s[i]=='[' || s[i]=='(')t.push(s[i]);10 else if(s[i]==')'){11 if(!t.empty() && t.top()=='(')t.pop();12 else{flag=true;break;}13 }14 else{15 if(!t.empty() && t.top()=='[')t.pop();16 else{flag=true;break;}17 }18 }19 if(flag)cout<<"No"<
 

转载于:https://www.cnblogs.com/acgoto/p/8990687.html

你可能感兴趣的文章
【CSS/JS】如何实现单行/多行文本溢出的省略(...)--老司机绕过坑道的正确姿势...
查看>>
软件工程 speedsnail 第二次冲刺4
查看>>
[Python数据挖掘]第4章、数据预处理
查看>>
在Intellij IDEA中使用Debug
查看>>
洛谷P3113 [USACO14DEC]马拉松赛跑Marathon_Gold 线段树维护区间最大值 模板
查看>>
如何区分el表达试与jquery
查看>>
string 线程安全
查看>>
css三类选择器 用法 引用
查看>>
android studio jni调用入门
查看>>
Python第一部分--Python简介+第一个程序+Python2和Python3介绍 001-016
查看>>
CSS Hack
查看>>
Django REST framework(官方说明文档翻译)(1快速开始 )
查看>>
JavaScript字符转Unicode,顺便说句:GitHub的Oh no页面很亮
查看>>
MSSQL 手工入侵网站方法
查看>>
memcache 加载(对象)所遇到的问题。资源
查看>>
linux命令df中df -h和df -i
查看>>
201771010130 王志成《面向对象程序设计(java)》第十二周学习总结
查看>>
百词斩
查看>>
Unity3D 开发问题记录笔记
查看>>
PHPMailer不能发送邮件
查看>>