博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
括号匹配问题(0962)
阅读量:5276 次
发布时间:2019-06-14

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

描述

假设表达式中允许包含两种括号:圆括号和方括号。编写一个算法判断表达式中的括号是否正确配对。

input

由括号构成的字符串,包含”(“、”)“、”[“和”]“。

output

如果匹配输出YES,否则输出NO。

样例输入

[([][]())]

样例输出

YES

 

这道题的思路是遇到左括号就入栈,遇到右括号就让栈顶元素出栈匹配,若匹配成功继续,若不成功则输出NO,若将字符串扫描完毕栈不为空,则说明匹配不成功

 

代码如下

1 #include
2 #include
3 #include
4 #include
5 using std::cin; 6 using std::cout; 7 using std::endl; 8 using std::sort; 9 10 #define N 10011 struct Stack {12 char date[N];13 int top;14 } stack;15 //栈初始化16 void init(Stack *stack) {17 stack->top=-1;18 memset(stack->date,0,sizeof(char)*N);//数据清零19 }20 21 bool isempty(Stack*stack) { //判断是否为空22 return stack->top==-1;23 }24 bool isfull(Stack*stack)//判断栈溢出25 {26 return stack->top==N-1;27 }28 int gettop(Stack*stack)//获取栈顶29 {30 return stack->date[stack->top];31 }32 void push(Stack*stack,char a)//压栈33 {34 if(isfull(stack)){35 return;36 }else{37 stack->top++;38 stack->date[stack->top]=a;39 }40 41 }42 void pop(Stack*stack)//吐43 {44 if(isempty(stack)){45 return;46 }else{47 stack->top--;48 }49 }50 bool isleft(char a){51 return (a=='(')||(a=='[');52 }53 bool isright(char a){54 return (a==']')||(a==')');55 }56 bool juge(char a,char b){57 return (a=='('&&b==')')||(a=='['&&b==']');58 }59 int main(){60 Stack stack;61 init(&stack);62 char str[100];63 cin>>str;64 int len=strlen(str);65 for(int i=0;i

 

转载于:https://www.cnblogs.com/swust-wangyf/p/6725196.html

你可能感兴趣的文章
安装开源项目 MultiType (基于 RecyclerView)出现的各种问题 -- 自己的第一篇博客...
查看>>
4、spring核心AOP
查看>>
Vue学习之不同组件之间的消息传递
查看>>
@Scheduled(cron = "0/5 * * * * *")将时间改为配置
查看>>
spring -boot定时任务 quartz 基于 MethodInvokingJobDetailFactoryBean 实现
查看>>
Javascript——说说js的调试
查看>>
BZOJ.2707.[SDOI2012]走迷宫(期望 Tarjan 高斯消元)
查看>>
android权限大全
查看>>
《设计师要懂心理学》-第五章-人如何集中注意力
查看>>
MVC3 - 控制器
查看>>
[源码]解析 SynchronousQueue 上界,下界.. 数据保存和数据传递. 堵塞队列. 有无频繁await?...
查看>>
PHPStorm默认在新窗口打开
查看>>
MongoDB基本概念和安装配置
查看>>
Linux&shell之高级Shell脚本编程-创建菜单
查看>>
Swift Objective-C 访问级别控制
查看>>
Mac 10.11系统下cocoaPods安装注意事项
查看>>
Phthon语言
查看>>
高质量程序设计指南c++/c语言(17)--函数
查看>>
pku 1573 Robot Motion 第一周训练——模拟
查看>>
Algorithms学习笔记-Chapter0序言
查看>>