Regular Expression Matching

原创 2015年07月09日 23:52:45


        题目要求这里不再赘述,有两点点需要注意:

一、"*" 所代表的含义是代表其之前的字符的0个或多个重复。如 “a*” 代表 'a' 后面跟0个或者多个字符 'a';

二、用 C++ 实现的话后面函数的入参是 string 型,在这里按字符处理的时候有诸多不便,可以转换为 char * 进行处理。

class Solution {
public:
    bool isMatchChar(const char *s, const char *p){
	if(*p == '\0')
		return *s == '\0';
	if(*(p + 1) != '*'){
		if(*s != '\0' && (*p == *s || *p == '.')){
			return isMatchChar(s + 1, p + 1);
		}else{
			return false;
		}
	}else{
		while(*s != '\0' && (*s == *p || *p == '.')){
			if(isMatchChar(s, p + 2))
				return true;
			s++;
		}
		return isMatchChar(s, p + 2);
	}
}

bool isMatch(string s, string p) {
    int lens = s.length();
    int lenp = p.length();

	char* schar = new char[lens + 1];
	char* pchar = new char[lenp + 1];
	strcpy(schar, s.c_str());
	strcpy(pchar, p.c_str());
	schar[lens] = '\0';
	pchar[lenp] = '\0';

	return isMatchChar(schar, pchar);
}

};





相关文章推荐

leetcode 10.Regular Expression Matching(正则表达式匹配) 解题思路和方法

Regular Expression Matching Implement regular expression matching with support for '.' and '*'. ...

LeetCode之10 --- Regular Expression Matching

题目:   , Implement regular expression matching with support for '.' and '*'. '.' Matches any sin...

[LeetCode] Regular Expression Matching 解题报告

[题目] mplement regular expression matching with support for ‘.’ and ‘*’. ‘.’ Matches any single ch...

leetcode -- Regular Expression Matching -- dp 重点

https://leetcode.com/problems/regular-expression-matching/trick: 如果有两个str list, 考虑用2D dp[i][j]思路1 递归...
  • xyqzki
  • xyqzki
  • 2015年12月22日 15:22
  • 373

LeetCode Regular Expression Matching 极品代码赏析

这个条件很容易忽略,也是最重要的条件了,因为这个相当于*可以把它的前缀字母”吃掉“ 所以也是为什么我们需要“往前看”,看到pattern字符串后一位,假设这个字符串为const char *p; 那...

Regular Expression Matching -- LeetCode

原题链接: http://oj.leetcode.com/problems/regular-expression-matching/  这个题目比较常见,但是难度还是比较大的。我们先来看看brute ...

leetcode 10 Regular Expression Matching

Regular Expression Matching Total Accepted: 51566 Total Submissions: 249926 Implement regul...
  • javays1
  • javays1
  • 2015年08月22日 06:56
  • 153

[Leetcode]10. Regular Expression Matching @python

题目Implement regular expression matching with support for ‘.’ and ‘*’.‘.’ Matches any single characte...

leetcode10_Regular Expression Matching

10. Regular Expression Matching题目描述: ‘.’ Matches any single character. ‘*’ Matches zero or ...

Regular Expression Matching【难】

Regular Expression Matching Leetcode真的是一个不错的网站,全世界的人都在上面刷题,上面的题还是挺好的。现将我在上面做过的题写成解题报告,既是一种分享也是一个记录防止...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Regular Expression Matching
举报原因:
原因补充:

(最多只允许输入30个字)