字符串匹配问题x
#include<iostream>
#include<cstdio>
#include<cstring> using namespace std; struct stack {
char strstack[];
int top;
}; void InitStack(stack &s) {
s.top=-;//将栈顶元素赋值为-1,便于检验是否空
} char push(stack &s,char a) {
if(s.top==) {
return ;//说明栈已满
}
s.top++;//栈顶++
s.strstack[s.top]=a;//将栈顶元素赋值为a
return a;
} char pop(stack &s) {
if(s.top==-) { //如果栈顶空了,则不出栈
return ;
}
char a=s.strstack[s.top--];
return a;//返回字符检验是否为‘([{’
} int empty(stack &s,int re) {
if(s.top==-) {//如果栈空了,说明暂时匹配,则返回1,为真
return ;
} else {//如果没有空,说明暂时不匹配,则返回0,为假
return ;
}
} int check(char *str) {
stack s;
InitStack(s);
int st=strlen(str);
for(int i=; i<st; i++) {
char a=str[i];
switch (a) {
case '(':
case '[':
case '{':
push(s,a);
break;
case ')':
if(pop(s)!='(') {
return ;
}
break;
case ']':
if(pop(s)!='[') {
return ;
}
break;
case '}':
if(pop(s)!='{') {
return ;
}
break;
}
}
int re=;
re=empty(s,re);
if(re==) {
return ;
} else {
return ;
}
} int main() {
char str[];
cin>>str;
int re=check(str);//用re来传递真假
if(re==) {
cout<<"YES"<<endl;
} else if(re==) {
cout<<"NO"<<endl;
}
}
字符串匹配问题x的更多相关文章
- 字符串匹配的KMP算法
~~~摘录 来源:阮一峰~~~ 字符串匹配是计算机的基本任务之一. 举例来说,有一个字符串”BBC ABCDAB ABCDABCDABDE”,我想知道,里面是否包含另一个字符串”ABCDABD”? 许 ...
- {Reship}{KMP字符串匹配}
关于KMP字符串匹配的介绍和归纳,作者的思路非常清晰,推荐看一下 http://blog.csdn.net/v_july_v/article/details/7041827
- 字符串匹配(hash算法)
hash函数对大家来说不陌生吧 ? 而这次我们就用hash函数来实现字符串匹配. 首先我们会想一下二进制数. 对于任意一个二进制数,我们将它化为10进制的数的方法如下(以二进制数1101101为例): ...
- 【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith
[C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...
- sdut 2125串结构练习--字符串匹配【两种KMP算法】
串结构练习——字符串匹配 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目链接:http://acm.sdut.edu.cn/sduto ...
- C语言字符串匹配函数
C语言字符串匹配函数,保存有需要时可以用: #include <stdio.h> #include <stdlib.h> #include <string.h> # ...
- 字符串匹配--Karp-Rabin算法
主要特征 1.使用hash函数 2.预处理阶段时间复杂度O(m),常量空间 3.查找阶段时间复杂度O(mn) 4.期望运行时间:O(n+m) 本文地址:http://www.cnblogs.com/a ...
- 字符串匹配的KMP算法详解及C#实现
字符串匹配是计算机的基本任务之一. 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD" ...
- zstu.4194: 字符串匹配(kmp入门题&& 心得)
4194: 字符串匹配 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 206 Solved: 78 Description 给你两个字符串A,B,请 ...
- 字符串匹配与KMP算法实现
>>字符串匹配问题 字符串匹配问题即在匹配串中寻找模式串是否出现, 首先想到的是使用暴力破解,也就是Brute Force(BF或蛮力搜索) 算法,将匹配串和模式串左对齐,然后从左向右一个 ...
随机推荐
- LeetCode. 位1的个数
题目要求: 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量). 示例: 输入:00000000000000000000000000001011 输 ...
- Pycharm超级好用的快捷键——效率之王
Pycharm超级好用的快捷键--效率之王 IT界老黑 IT界老黑 带你领略Python的魅力 关注他 270 人赞同了该文章 最重要的快捷键 ctrl+shift+A:万能命令行 shift两次: ...
- IDEA的常见的设置和优化(功能)
转载 原文:https://blog.csdn.net/zeal9s/article/details/83544074
- ArrayList插入1000w条数据的时间比较分析
一分钟系列: 读懂GC日志 ArrayList插入1000w条数据之后,我怀疑了jvm... Java JIT性能调优 Java性能优化指南系列(三):理解JIT编译器 准备:调试程序加入VM Opt ...
- 使用cnpm淘宝镜像
选装cnpm 1.说明:因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事. 2.官方网址:http://npm.ta ...
- 14.MySQL主从复制
1.复制的基本原理 三步骤 + 原理图 1.1 master将改变记录到二进制文件(binary log),这些记录过程叫做二进制日志事件, binary log events 1.2 slave 将 ...
- 7.使用EXPLAIN 来分析SQL和表结构_2
possible_keys ------ 显示可能应用在这张表的索引,一个或多个 查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被实际查询使用 key ------ 实际使 ...
- js实现复制 、剪切功能-clipboard.min.js 示例
html: <div id="txt">我是要复制的内容</button> <button id="copyBtn">点击复 ...
- 【Day4】1.JsonPath使用案例
import json python_data = [ { 'username': 'normal', 'vip': True, }, { 'username':None, 'vip':False } ...
- 网络编程实现简单的ssh
客户端:客户端实例 ---> 建立连接 ----> 发送内容 ---> 接受内容. import socket client = socket.socket() client.c ...