剑指offer—正则表达式匹配
来源:互联网 发布:java过滤换行 编辑:程序博客网 时间:2024/05/01 07:55
华电北风吹
天津大学认知计算与应用重点实验室
日期:2015/10/14
题目描述:
请实现一个函数用来匹配包括’.’和’‘的正则表达式。模式中的字符’.’表示任意一个字符,而’‘表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配
解析:
这道题目跟微软一道求一个数组里面有多少个顺序递增的斐波那契数列数字属于类似的问题。里面需要考虑特殊情况”.*a”,还有就是其他的细节考虑。
代码:
class Solution{public: bool match(char* str, char* pattern) { if(str[0]=='\0') { if(pattern[0]=='\0') return true; if(pattern[1]=='*') return match(str,pattern+2); return false; } if(pattern[0]=='\0') return false; else { if(pattern[1]=='*') { bool result=false; result=result||match(str,pattern+2); if(result) return true; while (str[0]==pattern[0]||((pattern[0]=='.')&&(str[0]!='\0'))) { result=result||match(++str,pattern+2); if(result) return true; } return result; } if((pattern[0]=='.')||(str[0]==pattern[0])) { return match(++str,++pattern); } return false; } }};
0 0
- 《剑指offer》——正则表达式匹配
- 《剑指offer》——正则表达式匹配
- 剑指offer——正则表达式匹配
- 剑指offer—正则表达式匹配
- 剑指offer—正则表达式匹配
- 《剑指offer》正则表达式匹配
- 剑指offer--正则表达式匹配
- 剑指offer:正则表达式匹配
- [剑指offer]正则表达式匹配
- 剑指offer-正则表达式匹配
- 剑指offer|正则表达式匹配
- 《剑指offer》-正则表达式匹配
- 剑指offer-正则表达式匹配
- 【剑指offer】正则表达式匹配
- 【剑指offer】正则表达式匹配
- 剑指offer-正则表达式匹配
- 剑指offer:正则表达式匹配
- 剑指Offer---正则表达式匹配
- Java内存泄露监控工具__JVM监控工具介绍
- 《深入理解java虚拟机》之内存模型与安全
- 在Windows中下载Android系统源码的办法
- String类的方法
- NYOJ 366 D的小L (DFS 全排列)
- 剑指offer—正则表达式匹配
- Linux systemd
- 抽象工厂模式(java语言实现)
- 九大排序算法再总结
- 循环
- Game of Life leetcode 289
- PostgreSQL trigger introduction - 2
- 创建带Nginx服务的Centos Docker镜像
- Invalid result location value/parameter 解决办法