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 }