劍指offer 面試題19 正規表示式匹配

2021-09-24 13:53:47 字數 605 閱讀 5257

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

解決:「.」表示任意字元

"*"表示它前面的字元可以出現任意次(包括0次)

public boolean match(char str, char pattern)

return matchcore(str,0,pattern,0);

}

public boolean matchcore(char str,int strindex,char pattern,int patternindex)

//pattern先到尾,匹配失敗

if(strindex!=str.length && patternindex==pattern.length)

//模式串的第二個字元是*,有三種情況

if(patternindex+1不要使用strindex++,或++strindex,會出錯。

劍指Offer面試題19 正規表示式匹配

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

劍指Offer 面試題19(正規表示式匹配)

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

劍指Offer 面試題19 正規表示式匹配

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