28. 实现 strStr() - 力扣(LeetCode) (leetcode-cn.com)
class Solution {
public int strStr(String haystack, String needle) {
/**
* 如果needle长度为0,返回0
* 循环体分别使用i,j指向两个字符串开始位置,循环条件i<haystack.length && j<needle.length()
* 如果haystack.charAt(i)==needle.charAt(j) i++,j++ 用res = i更新位置
* 如果haystack.charAt(i)!=needle.charAt(j) i++
* 退出循环时,如果j==needle.length(),则开始位置为
* j<=needle的长度,返回-1
* */
if(needle.length()<1) return 0;
int i=0,j=0,res=0;
while(i<haystack.length()&&j<needle.length()) {
if (haystack.charAt(i) == needle.charAt(j)){
j++;
}
j = 0;
i++;
}
if(j==needle.length()) res = i-j;
else res = -1;
return res;
}
}