题解 | #牛群的信息传递#
牛群的信息传递
https://www.nowcoder.com/practice/0130cb88968a441b9eedbc103466d2bf
双指针遍历两个字符串,注意每次字串无法匹配的时候,字串要重新从0开始遍历。最后完全匹配的时候需要减去字串的长度,得到的就是子字符串在主串的起始位置了。
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param message string字符串
* @param keyword string字符串
* @return int整型
*/
public int findKeyword (String message, String keyword) {
// write code here
char[] m = message.toCharArray();
char[] k = keyword.toCharArray();
int j = 0;
for(int i=0; i<m.length; i++){
int left = i; //使用left变量记录此时的i坐标
while(j<k.length){
if(m[left++]==k[j++]){
if(j==k.length){
return left-k.length;
}
}else{
j=0; //字串重新遍历
break;
}
}
}
return -1;
}
}



