劍指offer19 正規表示式匹配

2021-09-25 13:49:49 字數 1122 閱讀 8695

2.如果第二位是*:第一位如果匹配,則三種情況

有一種為true,則結果為true

3.其餘情況一位一位比較

class

solution

:# s, pattern都是字串

defmatch

(self, s, pattern)

:# write code hereif(

len(s)==0

andlen

(pattern)==0

):return

trueif(

len(s)

>

0and

len(pattern)==0

):return

falseif(

len(pattern)

>

1and pattern[1]

=='*'):

if(len(s)

>

0and

(s[0

]== pattern[0]

or pattern[0]

=='.'))

:return

(self.match(s, pattern[2:

])or self.match(s[1:

], pattern[2:

])or self.match(s[1:

], pattern)

)else

:return self.match(s, pattern[2:

])if(

len(s)

>

0and

(pattern[0]

=='.'

or pattern[0]

== s[0]

)):return self.match(s[1:

], pattern[1:

])return

false

劍指Offer 19 正規表示式匹配

之前做這個題的時候特別凌亂,但這次會好很多,把思路分享出來,以及邊界的確定 思路 我們用倆個索引來控制字串和模式串已經匹配到達的位置,index1和index2,這個問題就難在有 的位置,我們需要考慮下乙個位置為 時候怎麼處理 1.模式串的index2下乙個位置為 1 字串的index1位置與模式串...

劍指offer 19 正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 ab a 表示b可以出現任...

劍指 Offer 19 正規表示式匹配

請實現乙個函式用來匹配包含 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但與 aa.a 和 ab a 均不匹配。示例 1 輸入 s aa p ...