题目链接:实现strStr()
法一: 暴力法
思路:题目的意思是找出第一个出现的目标字符串的首字母的下表,我们可以遍历搜索长度为len(needle)的字符串,注意边界是否越界即可
class Solution {
public int strStr(String haystack, String needle) {
if(needle.length()==0){
return 0;
}
int len=needle.length();
char first=needle.charAt(0);
for(int i=0,j=0;i<haystack.length();i++){
if(haystack.charAt(i)==first&&i+len<=haystack.length()){
String temp=haystack.substring(i,i+len);
if(temp.equals(needle)){
return i;
}
}
}
return -1;
}
}
法二:KMP算法 (不会。。。。。。。。。。。)