查找子串算法java
暴力算法
@searchTarget要查找的子串
@searchFrom查找出处
publicArrayList<Integer>search(StringsearchTarget,StringsearchFrom){
//可能会有多个子串被查到,strPos记录子串的位置
ArrayList<Integer>strPos=newArrayList<Integer>();
inttargetLen=searchTarget.length();
intfromLen=searchFrom.length();
//用j来遍历被查找的子串
intj=0;
//用i来遍历所有子串
for(inti=0;i<fromLen-targetLen;i++){
//依次匹配,一个字符一个字符的匹配//如果匹配成功,就返回i的值
for(j=0;j<targetLen;j++){
if(searchFrom.charAt(i+j)!=searchTarget.charAt(j)){
break;
}
}
//如果被查找的子串被遍历到了最后说明找到匹配目标
if(j==targetLen){
strPos.add(i);
i=i+M
}
}
returnstrPos;
}
相关推荐
koushr 2020-11-12
jimeshui 2020-11-13
faiculty 2020-08-20
数据与算法之美 2020-07-04
xhao 2020-06-29
wuxiaosi0 2020-06-28
路漫 2020-06-28
数据与算法之美 2020-06-28
田有朋 2020-06-28
xhao 2020-06-28
natloc 2020-06-27
leoaran 2020-06-22
算法改变人生 2020-06-09
nurvnurv 2020-06-07
shenwenjie 2020-06-04
Tips 2020-06-03
只能做防骑 2020-06-01
yuanran0 2020-05-13