10 正規表示式匹配

2021-10-06 15:23:32 字數 564 閱讀 7888

給你乙個字串 s 和乙個字元規律 p,請你來實現乙個支援 『.』 和 『*』 的正規表示式匹配。

『.』 匹配任意單個字元

『*』 匹配零個或多個前面的那乙個元素

分析:分兩種情況。p的最後乙個字元不是*,這種情況比較好處理,如果是 . 就一定沒問題因為可以匹配任意的字元,或者s[i - 1] == p[j - 1],這時就看前 i-1和 j-1的情況。

第二種情況是最後乙個字元是『』,可能是匹配零個字元,這時候f[i][j] = f[i][j - 2] 。或者匹配多個字元這時候 f[i][j] = f[i - 1][j].(這個地方只匹配前乙個就行,是因為這個如果匹配多個的話那麼前面的也是已經被匹配過得了)

class

solution

if(j ==0)

b[i]

[j]=

false;if

(s2[j -1]

!='*')}

else

if(i >0)

}}}return b[len1]

[len2];}

}

10 正規表示式匹配

implement regular expression matching with support for and matches any single character.matches zero or more of the preceding element.the matching sho...

10 正規表示式匹配

思路類似最長公共子串行,dp i j dp i 1 j 1 如果s i p j p j dp i j 2 如果p j s i p j 1 dp i 1 j dp i j 1 dp i 1 j 1 dp i 1 j 2 dp i j 2 如果p j s i p j 1 稍稍解釋下 對於s和p,設各個最...

10 正規表示式匹配

剛開始很奇怪為什麼這個題的標籤是困難,然後寫了出來發現我寫出來的只針對從頭到尾都一樣,而不是如示例4,可以匹配一部分。示例 4 輸入 s aab p c a b 輸出 true 解釋 因為 表示零個或多個,這裡 c 為 0 個,a 被重複一次。因此可以匹配字串 aab 只針對從頭到尾相同的字串的程式...