package com.cutterpoint.gogogo.program;
/**
*
* .
*
* @版权:福富软件 版权所有 (c) 2015
* @author xiaof
* @version Revision 1.0.0
* @see:
* @创建日期:2017年3月15日
* @功能说明:
*
*/
public class BruteForceStringMatch {
public static int pipei(String t, String p) {
// 循环遍历到t.length-p.length的次数
int cha = t.length() - p.length();
char tt[] = t.toCharArray();
char pp[] = p.toCharArray();
for (int i = 0; i <= cha; ++i) {
// 进行匹配循环遍历模式
int j = 0;
while (j < p.length() && tt[i + j] == pp[j]) {
// 如果匹配成功,那么整体后移
++j;
// 如果j++之后就是到了模式末尾,那么返回位置
if (j == p.length())
return i; // 从第i位开始,模式匹配第一个子串ok
}
}
return -1;
}
public static void main(String[] args) {
String t = "cutterpoint";
String p = "point";
System.out.println(BruteForceStringMatch.pipei(t, p));
}
}
这个方法的效率显然无法直视,后面会有相应的改良,比如kmp算法