尝试编写自己的快速模式匹配算法。不想使用特定于语言的解决方案。我专注于编写算法。这是因为我正在阅读有关进行字符串匹配的不同技术。有些是复杂但非常有趣,如拉宾karp等。 我想出了这种快速且线性的方法。它适用于我尝试过的不同输入。所以我在想是否有任何理由我不应该使用这种方法而不是众所周知的方法。基本上我正在使用文本字符并与模式的相应字符进行比较 - 一次一个。 此外,如果有人能指出我的错误 - 这将是伟大的。感谢您提前回复和评论:)
public static boolean patternMatch(String pattern, String text)
{
if(pattern == null)
return true;
if(text == null)
return false;
char[] patternArray = pattern.toCharArray();
char[] textArray = text.toCharArray();
int length = pattern.length();
int j = 0;
for(char t : textArray)
{
if(t == patternArray[j])
{
j++;
if(j == length)
return true;
}
else {
j = 0;
if(t == patternArray[j]) j++;
}
}
return false;
}
答案 0 :(得分:2)
使用标准方法的两个原因: