請實現乙個函式用來匹配包含'. '和''的正規表示式。模式中的字元'.'表示任意乙個字元,而''表示它前面的字元可以出現任意次(含0次)。在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串"aaa"與模式"a.a"和"abaca"匹配,但與"aa.a"和"ab*a"均不匹配。
示例 1:
輸入:s = "aa"
p = "a"
輸出: false
解釋: "a" 無法匹配 "aa" 整個字串。
這裡為了好理解假設 s 和 p 的索引都是從1開始的
注意:s的長度一定要從0開始列舉,因為p有可能會匹配空字串
p[j]
為*
優化:對於p[j]
為*
的情況,我們要列舉這個組合到底匹配了s
中的幾個字元
class solution
if (p[j-1] == '.')
return s[i-1] == p[j-1];
};int f[m+1][n+1];
memset(f, 0, sizeof(f));
f[0][0] = true;
for (int i = 0; i <= m; ++i)
}else }}
}return f[m][n];
}};
劍指Offer 19 正規表示式匹配
之前做這個題的時候特別凌亂,但這次會好很多,把思路分享出來,以及邊界的確定 思路 我們用倆個索引來控制字串和模式串已經匹配到達的位置,index1和index2,這個問題就難在有 的位置,我們需要考慮下乙個位置為 時候怎麼處理 1.模式串的index2下乙個位置為 1 字串的index1位置與模式串...
劍指offer19 正規表示式匹配
2.如果第二位是 第一位如果匹配,則三種情況 有一種為true,則結果為true 3.其餘情況一位一位比較 class solution s,pattern都是字串 defmatch self,s,pattern write code hereif len s 0 andlen pattern 0 ...
劍指offer 19 正規表示式匹配
請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 ab a 表示b可以出現任...