SDUT 2134 数据结构实验之栈四:括号匹配
来源:互联网 发布:论坛软件下载 编辑:程序博客网 时间:2024/06/05 16:56
数据结构实验之栈四:括号匹配
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic Discuss
Problem Description
给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。
Input
输入数据有多组,处理到文件结束。
Output
如果匹配就输出“yes”,不匹配输出“no”
Example Input
sin(20+10)
{[}]
Example Output
yes
no
数组模拟栈代码:
#include<stdio.h>#include<string.h>#include<stdlib.h>int main(){ char a[55], s[55]; int r, i, len, flag; while(gets(s)) { len = strlen(s); r = -1; flag = 1; for(i = 0; i < len; i++) { if(s[i] == '(' || s[i] == ')' || s[i] == '[' || s[i] == ']' || s[i] == '{' || s[i] == '}')//只需要讨论各种样子的括号 { if(r == -1)//栈为空 { a[++r] = s[i];//直接压入栈 } else if(a[r] == '(')//栈最上面只能出现三种情况,不满足的话就不符合要求 { if(s[i] == ')')//如果匹配,压出'(' { r--; } else { a[++r] = s[i];//不匹配压入 } } else if(a[r] == '{') { if(s[i] == '}') { r--; } else { a[++r] = s[i]; } } else if(a[r] == '[') { if(s[i] == ']') { r--; } else { a[++r] = s[i]; } } else flag = 0;//不满足三种情况,所以flag = 0;标记一下 } } if(r == -1 && flag) printf("yes\n");//满足条件 else printf("no\n");//不满足条件 } return 0;}
0 0
- [SDUT](2134)数据结构实验之栈四:括号匹配 ---栈
- SDUT 2134 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配 SDUT 2134
- SDUT 2134 数据结构实验之栈四:括号匹配
- SDUT OJ 数据结构实验之栈四:括号匹配
- SDUT 2143 数据结构实验之栈四:括号匹配
- sdut oj2134 数据结构实验之栈四:括号匹配
- SDUT OJ 数据结构实验之栈四:括号匹配
- SDUT-数据结构实验之栈四:括号匹配
- sdut 数据结构实验之栈四:括号匹配
- sdut 2134 数据结构实验之栈与队列四:括号匹配
- SDUT 2134 数据结构实验之栈与队列四:括号匹配
- 数据结构实验之栈与队列四:括号匹配 sdut-oj
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- 数据结构实验之栈四:括号匹配
- WPF UI线程安全性
- Retrofit全攻略——进阶篇
- java:多线程
- 初探React-Native之Windows下Android端环境搭建
- 我的科研生活2017-3-8
- SDUT 2134 数据结构实验之栈四:括号匹配
- 果断收藏!67句神奇的英语谚语集锦!
- 區域閾值(adaptiveThreshold)
- java虚拟机-JVM
- jgGrid的新增修改
- POJ
- 【Java每日一题】20170309
- Scrapy安装完成调试报错
- 使用母版页实现页面布局