052正規表示式匹配
題目:請實現乙個函式用來匹配包括』.『和』『的正規表示式。模式中的字元』.『表示任意乙個字元,而』*
'表示它前面的字元可以出現任意次(包含0次)。 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串"aaa"與模式"a.a"和"abaca"匹配,但是與"aa.a"和"aba"均不匹配
方法:遞迴法
思路:1.如果字串的第乙個跟模式的第乙個相同,模式第二個為時,分為3種情況
(1)"*"
表示之前出現了0次,就是x作廢,從之後開始算,模式後移兩位
(2)表示出現了一次,於是字串後移一位,模式後移兩位繼續
(3)表示出現了很多次,字串後移一位繼續比較
2.如果字串第乙個跟模式第乙個不同,模式第二個為*時,模式後移兩位繼續比較
ps:寫遞迴函式,注意遞迴的終止條件
(1)字串和模式都到末尾,返回true;
(2)模式到末尾,字串沒到末尾,返回false;
**:
public boolean match(char str, char pattern)
public boolean ispipei(char str,char pattern,int i,int j)else
}//如果模式第二個字元不是「*」時
if((i!=str.length&&str[i]==pattern[j])
||(pattern[j]=='.'&&i!=str.length))
return false;
}
劍指offer 正規表示式匹配
請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 abaca 匹配,但是與 aa.a 和 aba 均不匹配 由於只涉及兩種正規表示式的匹配,...
劍指Offer 正規表示式匹配
題目 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 實現 class s...
劍指offer 正規表示式匹配
題目 請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配.分析 觀察模式串中第...