思路
在source里逐个字符作为起始点检查是否包含子字符串。
注意特殊情况处理:见代码
复杂度
时间复杂度O(n^2)
空间复杂度O(1)
代码
class Solution {
public int strStr(String haystack, String needle) {
int srcLen = haystack.length();int tarLen = needle.length();if (srcLen < tarLen) {
return -1;}for (int i = 0; i <= srcLen - tarLen + 1; i++) {
int j = 0;for (; j < tarLen; j++) {
if (i + j >= srcLen || haystack.charAt(i + j) != needle.charAt(j)) {
break;}}if (j == tarLen) {
return i;}}return -1;}
}