字符串的朴素模式匹配算法
1 package com.berry.algorithm.string; 2 3 /** 4 * Created by berry-h on 17-1-16. 5 */ 6 public class NativeAlgorithm { 7 8 /** 9 * 字符串的朴素模式匹配算法 10 * @param mStr 11 * @param sStr 12 * @return 13 */ 14 public Integer getStartIndex(String mStr, String sStr){ 15 if(mStr == null || sStr ==null){ 16 return null; 17 } 18 19 char[] m = mStr.toCharArray(); 20 char[] s = sStr.toCharArray(); 21 int mLength = mStr.length(); 22 int sLength = sStr.length(); 23 24 int i = 0; 25 int j = 0; 26 27 while(i < mLength && j < sLength){ 28 29 if(m[i] == s[j]){ 30 i++; 31 j++; 32 }else{ 33 i = i - j + 1; 34 j = 0; 35 } 36 37 } 38 39 if(j >= sLength){ 40 return i - sLength; 41 }else{ 42 return null; 43 } 44 } 45 46 }