Java教程

42.暴力匹配算法实现

本文主要是介绍42.暴力匹配算法实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
public static int violenceMatch(String str1, String str2) {
   char[] s1 = str1.toCharArray();
   char[] s2 = str2.toCharArray();

   int s1Len = s1.length;
   int s2Len = s2.length;

   int i = 0; // i索引指向s1
   int j = 0; // j索引指向s2
   while (i < s1Len && j < s2Len) {// 保证匹配时,不越界

      if(s1[i] == s2[j]) {//匹配ok
         i++;
         j++;
      } else { //没有匹配成功
         //如果失配(即str1[i]! = str2[j]),令i = i - (j - 1),j = 0。
         i = i - (j - 1);
         j = 0;
      }
   }
   
   //判断是否匹配成功
   if(j == s2Len) {
      return i - j;
   } else {
      return -1;
   }
}
这篇关于42.暴力匹配算法实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!