LeetCode第⼗题-正则表达式匹配Regular Expression Matching
问题简介:给定字符串,给定匹配模式,判断字符串是否满⾜匹配模式
问题详解:⼀共有两种特殊模式:
‘.’ 匹配任何单个字符
正则匹配怎么匹配单词
‘*’ 匹配前⾯元素的零个或多个
注:匹配的是整个给定字符串,不是部分
举例:
1:
输⼊:
s = “aa”
p = “a”
输出: false
解释: “a” 不匹配 “aa”.
2:
输⼊:
s = “aa”
p = “a*”
输出: true
解释: ‘*’ 代表 0 或多个字符 ‘a’
3:
输⼊:
s = “ab”
p = “."
输出: true
解释: ".” 代表 0 或多个任意字符
4:
输⼊:
s = “aab”
p = “cab”
输出: true
5:
输⼊:
s = “mississippi”
p = “misisp*.”
输出: false
解法⼀:递归
先判断输⼊模式,当模式为空时,只判断输⼊⽂本是否为空即可
将输⼊⽂本与模式逐字符匹配,当碰到特殊符号’.‘时相当于匹配任何字符,碰到’*'时则改变字符串进⼊递归下⼀次判断
解法⼆:Dynamic Programming
进⾏解法⼀的递归,我们采取缓存中间结果来节省建⽴字符串的空间
⼩⽩刷题之路,请多指教— — 要么⼤器晚成,要么⽯沉⼤海

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。