Leetcode記錄 10正規表示式匹配

2021-09-25 11:28:29 字數 978 閱讀 6682

思路:考慮動態規劃,dp矩陣表示s與p部分字串是否匹配。

第一行,當p中為『 * 』 時,match[0][i]=match[0][i-2];

當p中為』 . '或p中字元等於s中字元時,match[si][pi]=match[si-1][pi-1];

當p中為』 * '時,

(1) 若 』 * 『前面的字元等於s中字元,或』 * 『前面的字元為』 .』 ,則match[si][pi]=match[si][pi-2] || match[si-1][pi];

(2) 否則,match[si][pi]=match[si][pi-2];

最後返回矩陣最右下角的數match[s.length()][p.length()]

class

solution

boolean

match=

newboolean

[s.length()

+1][p.

length()

+1];

//boolean宣告的時候預設都是false

match[0]

[0]=

true

;for

(int i=

1;i<=p.

length()

;i++)}

for(

int si=

1;si<=s.

length()

;si++

)else

if(p.

charat

(pi-1)

=='*'

)else}}

}return match[s.

length()

][p.

length()

];}}

LeetCode學習記錄(10)

給定乙個字串 s 和乙個字元模式 實現支援 和 的正規表示式匹配。匹配任意單個字元。匹配零個或多個前面的元素。匹配應該覆蓋整個字串 s 而不是部分字串。說明 s 可能為空,且只包含從 a z 的小寫字母。p 可能為空,且只包含從 a z 的小寫字母,以及字元 和 示例 1 輸入 s aa p a 輸...

LeetCode 刷題記錄(10)

這幾天拯救世界去了 就是偷懶了 一直沒更博。這次練習的是leetcode上標籤為動態規劃 列表為熱題top100 難度為中等的幾道題目。題解有官方題解也有個人題解,有的地方意思可能表達得不是很清楚也可能存在錯誤,有問題請提出,感謝 題目描述 給定乙個整數 n,求以 1 n 為節點組成的二叉搜尋樹有多...

LeetCode10 正規表示式

給你乙個字串 s 和乙個字元規律 p,請你來實現乙個支援 和 的正規表示式匹配。匹配任意單個字元 匹配零個或多個前面的那乙個元素 所謂匹配,是要涵蓋 整個 字串 s的,而不是部分字串。說明 s 可能為空,且只包含從 a z 的小寫字母。p 可能為空,且只包含從 a z 的小寫字母,以及字元 和 示例...