Regular Expression Matching
来源:互联网 发布:数据分析材料 编辑:程序博客网 时间:2024/05/29 17:03
原题: Implement regular expression matching with support for '.'
and'*'
.
解释一下就是'.’代表任意一个字母,‘*’代表之前那个字母出现了0次或者多次,在此基础上判断两个字符串是否匹配
这里的难点就在‘*’上了,具体方法用的是递归
代码如下:
public class Solution { public boolean isMatch(String s, String p) { return helper(s,p,0,0); } private boolean helper(String s, String p, int i, int j) { //判断p字符串为零(j意义上的为零)时,s字符串是否为零(i意义上) if(j==p.length()) return i==s.length(); //p字符串长度为1,或者p字符串此时的第二个字符不是‘*’ if(j==p.length()-1 || p.charAt(j+1)!='*') { if(i==s.length()|| s.charAt(i)!=p.charAt(j) && p.charAt(j)!='.') return false; else //递归继续 return helper(s,p,i+1,j+1); } //p.charAt(j+1)=='*' while(i<s.length() && (p.charAt(j)=='.' || s.charAt(i)==p.charAt(j))) { if(helper(s,p,i,j+2)) return true; i++; } return helper(s,p,i,j+2); } }
0 0
- LeetCode: Regular Expression Matching
- LeetCode: Regular Expression Matching
- leetcode Regular Expression Matching
- [Leetcode] Regular Expression Matching
- Regular Expression Matching
- Regular Expression Matching
- [LeetCode]Regular Expression Matching
- Regular Expression Matching
- LeetCode-Regular Expression Matching
- Regular Expression Matching
- 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
- 模式识别(Pattern Recognition)学习笔记(十二)--SVM(广义):大间隔
- MySQL 5.7 JSON相关操作
- Java IO 系统学习之File类
- 全面分析 Spring 的编程式事务管理及声明式事务管理
- 我迷茫的IT工作之路(五)重新从事手游开发工作
- Regular Expression Matching
- 模式识别(Pattern Recognition)学习笔记(十三)--多类线性分类器
- Linux安装jdk,tomcat亲身试炼
- Mackdown 编辑器-马克飞象
- excel VBA基础
- PDO事务
- yeoman创建webapp项目
- 限制textfield动态只能输入数字和字母且有长度限制
- 模式识别(Pattern Recognition)学习笔记(十四)--多类线性判别函数