LeetCode第十題-正則表達(dá)式匹配

Regular Expression Matching

問題簡介:給定字符串,給定匹配模式,判斷字符串是否滿足匹配模式

問題詳解:一共有兩種特殊模式:

‘.’ 匹配任何單個字符

‘*’ 匹配前面元素的零個或多個

注:匹配的是整個給定字符串,不是部分

舉例:

1:

輸入:

s = “aa”

p = “a”

輸出: false

解釋: “a” 不匹配 “aa”.

2:

輸入:

s = “aa”

p = “a*”

輸出: true

解釋: ‘*’ 代表 0 或多個字符 ‘a(chǎn)’

3:

輸入:

s = “ab”

p = “."

輸出: true

解釋: ".” 代表 0 或多個任意字符

4:

輸入:

s = “aab”

p = “cab”

輸出: true

5:

輸入:

s = “mississippi”

p = “misisp*.”

輸出: false

解法一:遞歸

先判斷輸入模式,當(dāng)模式為空時,只判斷輸入文本是否為空即可

將輸入文本與模式逐字符匹配,當(dāng)碰到特殊符號’.‘時相當(dāng)于匹配任何字符,碰到’*'時則改變字符串進(jìn)入遞歸下一次判斷

解法二:Dynamic Programming

進(jìn)行解法一的遞歸,我們采取緩存中間結(jié)果來節(jié)省建立字符串的空間

小白刷題之路,請多指教— — 要么大器晚成,要么石沉大海

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容