【leetCode】Regular Expression Matching
来源:互联网 发布:js 变量未定义 编辑:程序博客网 时间:2024/06/18 14:54
题意:正则表达式匹配,有个两个匹配原则:
1、“.”与任何字符匹配
2、"*"与零次或多次*之前的字符匹配
思路:用递推的方法。
.很容易
对于*,看代码吧,说不清楚了
bool match(string s,string p,int sl,int pl){ int k; // cout<<sl<<" "<<pl<<endl; if(s.length()==sl) { if(p.length()==pl) return true; for(k=pl;k<p.length();k+=2) { if(!(p[k]!='*'&&k+1<p.length()&&p[k+1]=='*')) return false; } if(k==p.length()) return true; return false; } if(p.length()==pl&&s.length()>sl) return false; if(pl+1<p.length()&&p[pl+1]=='*') { k=sl; while((s[k]==p[pl]||'.'==p[pl])&&k<s.length()) { if(match(s,p,k+1,pl+2))return true; k++; } return match(s,p,sl,pl+2); } else if(s[sl]==p[pl]||'.'==p[pl]) return match(s,p,sl+1,pl+1); return false;}bool isMatch(string s, string p){ return match(s,p,0,0);}
0 0
- LeetCode: Regular Expression Matching
- LeetCode: Regular Expression Matching
- leetcode Regular Expression Matching
- [Leetcode] Regular Expression Matching
- [LeetCode]Regular Expression Matching
- LeetCode-Regular Expression Matching
- Regular Expression Matching LeetCode
- LeetCode | Regular Expression Matching
- LeetCode: Regular Expression Matching
- Leetcode: Regular Expression Matching
- [LeetCode] Regular Expression matching
- [LeetCode] Regular Expression Matching
- LeetCode Regular Expression Matching
- leetcode Regular Expression Matching
- leetcode: Regular Expression Matching
- LeetCode Regular Expression Matching
- Leetcode: Regular Expression Matching
- leetcode:Regular Expression Matching
- 数据结构实验之二叉树四:还原二叉树
- SQLCookBook第三章学习日记8
- Swift 函数也有类型type
- 正则表达式(一)
- 防止数据恶意重复提交的方法
- 【leetCode】Regular Expression Matching
- Android自定义SlidingMenu
- [BZOJ1102][POI2007]山峰和山谷Grz(bfs:floodfill)
- mac下的Ipython Notebook-如何修改默认路径
- sping-mvc ajax访问 session超时 添加拦截
- fadeIn跟fadeOut实现动态
- PAT--1110. Complete Binary Tree
- 使用纯C语言通过Direct3D 11的Compute Shader做通用目的计算
- fadeTo使逐渐透明